OSDN Git Service

#24074 オートの時はグラフを表示しないようにした。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 07.演奏 / ドラム画面 / CAct演奏Drumsグラフ.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Runtime.InteropServices;\r
5 using System.Drawing;\r
6 using SlimDX;\r
7 using FDK;\r
8 \r
9 namespace DTXMania\r
10 {\r
11         internal class CAct演奏Drumsグラフ : CActivity\r
12         {\r
13                 // プロパティ\r
14 \r
15         public double dbグラフ値\r
16         {\r
17             get\r
18             {\r
19                 return this.dbグラフ値現在;\r
20             }\r
21             set\r
22             {\r
23                 this.dbグラフ値現在 = value;\r
24             }\r
25         }\r
26         public double dbグラフ値2\r
27         {\r
28             get\r
29             {\r
30                 return this.dbグラフ値目標;\r
31             }\r
32             set\r
33             {\r
34                 this.dbグラフ値目標 = value;\r
35             }\r
36         }\r
37                 \r
38                 // コンストラクタ\r
39 \r
40                 public CAct演奏Drumsグラフ()\r
41                 {\r
42                         base.b活性化してない = true;\r
43                 }\r
44 \r
45 \r
46                 // CActivity 実装\r
47 \r
48                 public override void On活性化()\r
49         {\r
50             this.dbグラフ値目標 = 80f;\r
51             this.dbグラフ値現在 = 0f;\r
52                         base.On活性化();\r
53                 }\r
54                 public override void On非活性化()\r
55                 {\r
56                         base.On非活性化();\r
57                 }\r
58                 public override void OnManagedリソースの作成()\r
59                 {\r
60                         if( !base.b活性化してない )\r
61                         {\r
62                 this.txグラフ = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\Z_GraphTest.png"));\r
63                                 base.OnManagedリソースの作成();\r
64                         }\r
65                 }\r
66                 public override void OnManagedリソースの解放()\r
67                 {\r
68                         if( !base.b活性化してない )\r
69                         {\r
70                                 CDTXMania.tテクスチャの解放( ref this.txグラフ );\r
71                                 base.OnManagedリソースの解放();\r
72                         }\r
73                 }\r
74                 public override int On進行描画()\r
75                 {\r
76                         if( !base.b活性化してない )\r
77                         {\r
78                                 if( base.b初めての進行描画 )\r
79                                 {\r
80                                         base.b初めての進行描画 = false;\r
81                 }\r
82                 // 背景暗幕\r
83                 if (this.txグラフ != null)\r
84                 {\r
85                     this.txグラフ.n透明度 = 128;\r
86                     this.txグラフ.vc拡大縮小倍率 = new Vector3(38f, 230f, 1f);\r
87                 }\r
88                 Rectangle rectangle = new Rectangle(22, 0, 1, 1);\r
89                 this.txグラフ.t2D描画(CDTXMania.app.Device, 345, 88, rectangle);\r
90                 \r
91                 // 基準線\r
92                 if (this.txグラフ != null)\r
93                 {\r
94                     this.txグラフ.n透明度 = 192;\r
95                     this.txグラフ.vc拡大縮小倍率 = new Vector3(38f, 1f, 1f);\r
96                 }\r
97                 for (int i = 0; i < 4; i++)\r
98                 {\r
99                     // 基準線を越えたら黄色くなる\r
100                     if (this.dbグラフ値現在 >= (100 - i * 10))\r
101                     {\r
102                         rectangle = new Rectangle(21, 0, 1, 1);\r
103                     }\r
104                     else\r
105                     {\r
106                         rectangle = new Rectangle(20, 0, 1, 1);\r
107                     }\r
108                     this.txグラフ.t2D描画(CDTXMania.app.Device, 345, 88+i*23, rectangle);\r
109                 }\r
110 \r
111                 // グラフ\r
112                 // --現在値\r
113                 if (this.txグラフ != null)\r
114                 {\r
115                     this.txグラフ.n透明度 = 192;\r
116                     this.txグラフ.vc拡大縮小倍率 = new Vector3(1f, 1f, 1f);\r
117                 }\r
118                 rectangle = new Rectangle(0, 0, 10, (int)(230f * this.dbグラフ値現在 / 100));\r
119                 this.txグラフ.t2D描画(CDTXMania.app.Device, 350, 318 - (int)(230f * this.dbグラフ値現在 / 100), rectangle);\r
120                 if (dbグラフ値現在 >= dbグラフ値目標)\r
121                 {\r
122                     this.txグラフ.vc拡大縮小倍率 = new Vector3(1.2f, 1f, 1f);\r
123                     this.txグラフ.n透明度 = 64;\r
124                     this.txグラフ.b加算合成 = true;\r
125                     this.txグラフ.t2D描画(CDTXMania.app.Device, 349, 318 - (int)(230f * this.dbグラフ値現在 / 100), rectangle);\r
126                 }\r
127                 // --目標値\r
128                 if (this.txグラフ != null)\r
129                 {\r
130                     this.txグラフ.n透明度 = 192;\r
131                     this.txグラフ.vc拡大縮小倍率 = new Vector3(1f, 1f, 1f);\r
132                     this.txグラフ.b加算合成 = false;\r
133                 }\r
134                 rectangle = new Rectangle(10, 0, 10, (int)(230f * this.dbグラフ値目標 / 100));\r
135                 this.txグラフ.t2D描画(CDTXMania.app.Device, 368, 318 - (int)(230f * this.dbグラフ値目標 / 100), rectangle);\r
136                 \r
137                         }\r
138                         return 0;\r
139                 }\r
140 \r
141 \r
142                 // その他\r
143 \r
144                 #region [ private ]\r
145                 //----------------\r
146         private double dbグラフ値目標;\r
147         private double dbグラフ値現在;\r
148                 private CTexture txグラフ;\r
149                 //-----------------\r
150                 #endregion\r
151         }\r
152 }\r