OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / DTXManiaプロジェクト / コード / ステージ / CActFIFOBlack.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Drawing;\r
5 using System.Diagnostics;\r
6 using FDK;\r
7 \r
8 namespace DTXMania\r
9 {\r
10         internal class CActFIFOBlack : CActivity\r
11         {\r
12                 // メソッド\r
13 \r
14                 public void tフェードアウト開始()\r
15                 {\r
16                         this.mode = EFIFOモード.フェードアウト;\r
17                         this.counter = new CCounter( 0, 100, 5, CDTXMania.Timer );\r
18                 }\r
19                 public void tフェードイン開始()\r
20                 {\r
21                         this.mode = EFIFOモード.フェードイン;\r
22                         this.counter = new CCounter( 0, 100, 5, CDTXMania.Timer );\r
23                 }\r
24 \r
25                 \r
26                 // CActivity 実装\r
27 \r
28                 public override void On非活性化()\r
29                 {\r
30                         if( !base.b活性化してない )\r
31                         {\r
32                                 CDTXMania.tテクスチャの解放( ref this.tx黒タイル64x64 );\r
33                                 base.On非活性化();\r
34                         }\r
35                 }\r
36                 public override void OnManagedリソースの作成()\r
37                 {\r
38                         if( !base.b活性化してない )\r
39                         {\r
40                                 this.tx黒タイル64x64 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ), false );\r
41                                 base.OnManagedリソースの作成();\r
42                         }\r
43                 }\r
44                 public override int On進行描画()\r
45                 {\r
46                         if( base.b活性化してない || ( this.counter == null ) )\r
47                         {\r
48                                 return 0;\r
49                         }\r
50                         this.counter.t進行();\r
51                         // Size clientSize = CDTXMania.app.Window.ClientSize;   // #23510 2010.10.31 yyagi: delete as of no one use this any longer.\r
52                         if (this.tx黒タイル64x64 != null)\r
53                         {\r
54                                 this.tx黒タイル64x64.n透明度 = ( this.mode == EFIFOモード.フェードイン ) ? ( ( ( 100 - this.counter.n現在の値 ) * 0xff ) / 100 ) : ( ( this.counter.n現在の値 * 0xff ) / 100 );\r
55                                 for (int i = 0; i <= (640 / 64); i++)           // #23510 2010.10.31 yyagi: change "clientSize.Width" to "640" to fix FIFO drawing size\r
56                                 {\r
57                                         for (int j = 0; j <= (480 / 64); j++)   // #23510 2010.10.31 yyagi: change "clientSize.Height" to "480" to fix FIFO drawing size\r
58                                         {\r
59                                                 this.tx黒タイル64x64.t2D描画( CDTXMania.app.Device, i * 64, j * 64 );\r
60                                         }\r
61                                 }\r
62                         }\r
63                         if( this.counter.n現在の値 != 100 )\r
64                         {\r
65                                 return 0;\r
66                         }\r
67                         return 1;\r
68                 }\r
69 \r
70 \r
71                 // その他\r
72 \r
73                 #region [ private ]\r
74                 //-----------------\r
75                 private CCounter counter;\r
76                 private EFIFOモード mode;\r
77                 private CTexture tx黒タイル64x64;\r
78                 //-----------------\r
79                 #endregion\r
80         }\r
81 }\r