OSDN Git Service

8a65eb36b421afc157f39b8ad81bba5dfcda83a3
[dtxmania/dtxmania.git] / 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.Instance.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.Instance.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                                 TextureFactory.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 = TextureFactory.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.Instance.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 <= (SampleFramework.GameWindowSize.Width / 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 <= (SampleFramework.GameWindowSize.Height / 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.Instance.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