OSDN Git Service

8713db51d25fc5e70a5cd5c1a7e4c3dc1a3cebea
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 08.結果 / CActResultParameterPanel.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 System.IO;\r
7 using SlimDX;\r
8 using FDK;\r
9 \r
10 namespace DTXMania\r
11 {\r
12         internal class CActResultParameterPanel : CActivity\r
13         {\r
14                 // コンストラクタ\r
15 \r
16                 public CActResultParameterPanel()\r
17                 {\r
18                         ST文字位置[] st文字位置Array = new ST文字位置[11];\r
19                         ST文字位置 st文字位置 = new ST文字位置();\r
20                         st文字位置.ch = '0';\r
21                         st文字位置.pt = new Point((int)(0 * Scale.X), (int)(0 * Scale.Y));\r
22                         st文字位置Array[0] = st文字位置;\r
23                         ST文字位置 st文字位置2 = new ST文字位置();\r
24                         st文字位置2.ch = '1';\r
25                         st文字位置2.pt = new Point((int)(11 * Scale.X), (int)(0 * Scale.Y));\r
26                         st文字位置Array[1] = st文字位置2;\r
27                         ST文字位置 st文字位置3 = new ST文字位置();\r
28                         st文字位置3.ch = '2';\r
29                         st文字位置3.pt = new Point((int)(0x16 * Scale.X), (int)(0 * Scale.Y));\r
30                         st文字位置Array[2] = st文字位置3;\r
31                         ST文字位置 st文字位置4 = new ST文字位置();\r
32                         st文字位置4.ch = '3';\r
33                         st文字位置4.pt = new Point((int)(0x21 * Scale.X), (int)(0 * Scale.Y));\r
34                         st文字位置Array[3] = st文字位置4;\r
35                         ST文字位置 st文字位置5 = new ST文字位置();\r
36                         st文字位置5.ch = '4';\r
37                         st文字位置5.pt = new Point((int)(0x2c * Scale.X), (int)(0 * Scale.Y));\r
38                         st文字位置Array[4] = st文字位置5;\r
39                         ST文字位置 st文字位置6 = new ST文字位置();\r
40                         st文字位置6.ch = '5';\r
41                         st文字位置6.pt = new Point((int)(0 * Scale.X), (int)(0x10 * Scale.Y));\r
42                         st文字位置Array[5] = st文字位置6;\r
43                         ST文字位置 st文字位置7 = new ST文字位置();\r
44                         st文字位置7.ch = '6';\r
45                         st文字位置7.pt = new Point((int)(11 * Scale.X), (int)(0x10 * Scale.Y));\r
46                         st文字位置Array[6] = st文字位置7;\r
47                         ST文字位置 st文字位置8 = new ST文字位置();\r
48                         st文字位置8.ch = '7';\r
49                         st文字位置8.pt = new Point((int)(0x16 * Scale.X), (int)(0x10 * Scale.Y));\r
50                         st文字位置Array[7] = st文字位置8;\r
51                         ST文字位置 st文字位置9 = new ST文字位置();\r
52                         st文字位置9.ch = '8';\r
53                         st文字位置9.pt = new Point((int)(0x21 * Scale.X), (int)(0x10 * Scale.Y));\r
54                         st文字位置Array[8] = st文字位置9;\r
55                         ST文字位置 st文字位置10 = new ST文字位置();\r
56                         st文字位置10.ch = '9';\r
57                         st文字位置10.pt = new Point((int)(0x2c * Scale.X), (int)(0x10 * Scale.Y));\r
58                         st文字位置Array[9] = st文字位置10;\r
59                         ST文字位置 st文字位置11 = new ST文字位置();\r
60                         st文字位置11.ch = '.';\r
61                         st文字位置11.pt = new Point((int)(0x37 * Scale.X), (int)(0x10 * Scale.Y));\r
62                         st文字位置Array[10] = st文字位置11;\r
63                         this.st大文字位置 = st文字位置Array;\r
64                         ST文字位置[] st文字位置Array2 = new ST文字位置[11];\r
65                         ST文字位置 st文字位置12 = new ST文字位置();\r
66                         st文字位置12.ch = '0';\r
67                         st文字位置12.pt = new Point((int)(0 * Scale.X), (int)(0x20 * Scale.Y));\r
68                         st文字位置Array2[0] = st文字位置12;\r
69                         ST文字位置 st文字位置13 = new ST文字位置();\r
70                         st文字位置13.ch = '1';\r
71                         st文字位置13.pt = new Point((int)(11 * Scale.X), (int)(0x20 * Scale.Y));\r
72                         st文字位置Array2[1] = st文字位置13;\r
73                         ST文字位置 st文字位置14 = new ST文字位置();\r
74                         st文字位置14.ch = '2';\r
75                         st文字位置14.pt = new Point((int)(0x16 * Scale.X), (int)(0x20 * Scale.Y));\r
76                         st文字位置Array2[2] = st文字位置14;\r
77                         ST文字位置 st文字位置15 = new ST文字位置();\r
78                         st文字位置15.ch = '3';\r
79                         st文字位置15.pt = new Point((int)(0x21 * Scale.X), (int)(0x20 * Scale.Y));\r
80                         st文字位置Array2[3] = st文字位置15;\r
81                         ST文字位置 st文字位置16 = new ST文字位置();\r
82                         st文字位置16.ch = '4';\r
83                         st文字位置16.pt = new Point((int)(0x2c * Scale.X), (int)(0x20 * Scale.Y));\r
84                         st文字位置Array2[4] = st文字位置16;\r
85                         ST文字位置 st文字位置17 = new ST文字位置();\r
86                         st文字位置17.ch = '5';\r
87                         st文字位置17.pt = new Point((int)(0 * Scale.X), (int)(0x30 * Scale.Y));\r
88                         st文字位置Array2[5] = st文字位置17;\r
89                         ST文字位置 st文字位置18 = new ST文字位置();\r
90                         st文字位置18.ch = '6';\r
91                         st文字位置18.pt = new Point((int)(11 * Scale.X), (int)(0x30 * Scale.Y));\r
92                         st文字位置Array2[6] = st文字位置18;\r
93                         ST文字位置 st文字位置19 = new ST文字位置();\r
94                         st文字位置19.ch = '7';\r
95                         st文字位置19.pt = new Point((int)(0x16 * Scale.X), (int)(0x30 * Scale.Y));\r
96                         st文字位置Array2[7] = st文字位置19;\r
97                         ST文字位置 st文字位置20 = new ST文字位置();\r
98                         st文字位置20.ch = '8';\r
99                         st文字位置20.pt = new Point((int)(0x21 * Scale.X), (int)(0x30 * Scale.Y));\r
100                         st文字位置Array2[8] = st文字位置20;\r
101                         ST文字位置 st文字位置21 = new ST文字位置();\r
102                         st文字位置21.ch = '9';\r
103                         st文字位置21.pt = new Point((int)(0x2c * Scale.X), (int)(0x30 * Scale.Y));\r
104                         st文字位置Array2[9] = st文字位置21;\r
105                         ST文字位置 st文字位置22 = new ST文字位置();\r
106                         st文字位置22.ch = '%';\r
107                         st文字位置22.pt = new Point((int)(0x37 * Scale.X), (int)(0x30 * Scale.Y));\r
108                         st文字位置Array2[10] = st文字位置22;\r
109                         this.st小文字位置 = st文字位置Array2;\r
110                         base.b活性化してない = true;\r
111                 }\r
112 \r
113 \r
114                 // メソッド\r
115 \r
116                 public void tアニメを完了させる()\r
117                 {\r
118                         this.ct表示用.n現在の値 = this.ct表示用.n終了値;\r
119                 }\r
120 \r
121 \r
122                 // CActivity 実装\r
123 \r
124                 public override void On活性化()\r
125                 {\r
126                         this.n本体X = (int)(0xf2 * Scale.X);\r
127                         this.n本体Y = (int)(0x44 * Scale.Y);\r
128                         this.sdDTXで指定されたフルコンボ音 = null;\r
129                         this.bフルコンボ音再生済み = false;\r
130                         base.On活性化();\r
131                 }\r
132                 public override void On非活性化()\r
133                 {\r
134                         if (this.ct表示用 != null)\r
135                         {\r
136                                 this.ct表示用 = null;\r
137                         }\r
138                         if (this.sdDTXで指定されたフルコンボ音 != null)\r
139                         {\r
140                                 CDTXMania.Instance.Sound管理.tサウンドを破棄する(this.sdDTXで指定されたフルコンボ音);\r
141                                 this.sdDTXで指定されたフルコンボ音 = null;\r
142                         }\r
143                         base.On非活性化();\r
144                 }\r
145                 public override void OnManagedリソースの作成()\r
146                 {\r
147                         if (!base.b活性化してない)\r
148                         {\r
149                                 this.txパネル本体 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult parameter panel.png"), true);\r
150                                 this.tx文字[0] = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult parameter numbers.png"));\r
151                                 this.tx文字[1] = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult parameter numbers em.png"));\r
152                                 this.txFullCombo = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult fullcombo.png"));\r
153                                 this.txWhite = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\Tile white 64x64.png"));\r
154                                 base.OnManagedリソースの作成();\r
155                         }\r
156                 }\r
157                 public override void OnManagedリソースの解放()\r
158                 {\r
159                         if (!base.b活性化してない)\r
160                         {\r
161                                 TextureFactory.tテクスチャの解放(ref this.txパネル本体);\r
162                                 TextureFactory.tテクスチャの解放(ref this.tx文字[0]);\r
163                                 TextureFactory.tテクスチャの解放(ref this.tx文字[1]);\r
164                                 TextureFactory.tテクスチャの解放(ref this.txFullCombo);\r
165                                 TextureFactory.tテクスチャの解放(ref this.txWhite);\r
166                                 base.OnManagedリソースの解放();\r
167                         }\r
168                 }\r
169                 public override int On進行描画()\r
170                 {\r
171                         if (base.b活性化してない)\r
172                         {\r
173                                 return 0;\r
174                         }\r
175                         if (base.b初めての進行描画)\r
176                         {\r
177                                 this.ct表示用 = new CCounter(0, 0x3e7, 2, CDTXMania.Instance.Timer);\r
178                                 base.b初めての進行描画 = false;\r
179                         }\r
180                         this.ct表示用.t進行();\r
181                         if (this.txパネル本体 != null)\r
182                         {\r
183                                 this.txパネル本体.t2D描画(\r
184                                         CDTXMania.Instance.Device,\r
185                                         this.n本体X,\r
186                                         this.n本体Y\r
187                                 );\r
188                         }\r
189                         int num = this.ct表示用.n現在の値;\r
190                         STDGBVALUE<Point> pointArray = new STDGBVALUE<Point>();\r
191                         pointArray.Drums = new Point((int)(0x68 * Scale.X), (int)(0x29 * Scale.Y));\r
192                         pointArray.Guitar = new Point((int)(0xc7 * Scale.X), (int)(0x29 * Scale.Y));\r
193                         pointArray.Bass = new Point((int)(0x129 * Scale.X), (int)(0x29 * Scale.Y));\r
194                         \r
195                         for (E楽器パート i = E楽器パート.DRUMS; i <= E楽器パート.BASS; i++)\r
196                         {\r
197                                 int x = this.n本体X + pointArray[i].X;\r
198                                 int y = this.n本体Y + pointArray[i].Y;\r
199                                 if (num >= 0)\r
200                                 {\r
201                                         this.t大文字表示(x, y, CDTXMania.Instance.stage結果.st演奏記録[i].nPerfect数.ToString("00000"));\r
202                                 }\r
203                                 if (num >= 100)\r
204                                 {\r
205                                         this.t大文字表示(x, y + (int)(0x16 * Scale.Y), CDTXMania.Instance.stage結果.st演奏記録[i].nGreat数.ToString("00000"));\r
206                                 }\r
207                                 if (num >= 200)\r
208                                 {\r
209                                         this.t大文字表示(x, y + (int)(0x2c * Scale.Y), CDTXMania.Instance.stage結果.st演奏記録[i].nGood数.ToString("00000"));\r
210                                 }\r
211                                 if (num >= 300)\r
212                                 {\r
213                                         this.t大文字表示(x, y + (int)(0x42 * Scale.Y), CDTXMania.Instance.stage結果.st演奏記録[i].nPoor数.ToString("00000"));\r
214                                 }\r
215                                 if (num >= 400)\r
216                                 {\r
217                                         this.t大文字表示(x, y + (int)(0x58 * Scale.Y), CDTXMania.Instance.stage結果.st演奏記録[i].nMiss数.ToString("00000"));\r
218                                 }\r
219                                 if (num >= 0)\r
220                                 {\r
221                                         this.t小文字表示(x + (int)(0x30 * Scale.X), y, string.Format("{0,3:##0}%", CDTXMania.Instance.stage結果.fPerfect率[i]));\r
222                                 }\r
223                                 if (num >= 100)\r
224                                 {\r
225                                         this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x16 * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.Instance.stage結果.fGreat率[i]));\r
226                                 }\r
227                                 if (num >= 200)\r
228                                 {\r
229                                         this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x2c * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.Instance.stage結果.fGood率[i]));\r
230                                 }\r
231                                 if (num >= 300)\r
232                                 {\r
233                                         this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x42 * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.Instance.stage結果.fPoor率[i]));\r
234                                 }\r
235                                 if (num >= 400)\r
236                                 {\r
237                                         this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x58 * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.Instance.stage結果.fMiss率[i]));\r
238                                 }\r
239                                 if (num >= 500)\r
240                                 {\r
241                                         this.t大文字表示(x, y + (int)(110 * Scale.Y), string.Format("{0,9:########0}", CDTXMania.Instance.stage結果.st演奏記録[i].n最大コンボ数));\r
242                                 }\r
243                                 if (num >= 600)\r
244                                 {\r
245                                         this.t大文字表示(x, y + (int)(0x84 * Scale.Y), CDTXMania.Instance.stage結果.st演奏記録[i].nスコア.ToString("000000000"), CDTXMania.Instance.stage結果.b新記録スコア[i]);\r
246                                 }\r
247                                 if (num >= 700)\r
248                                 {\r
249                                         this.t大文字表示(x - (int)(11 * Scale.X), y + (int)(0x9a * Scale.Y), string.Format("{0,9:#####0.00}", CDTXMania.Instance.stage結果.st演奏記録[i].db演奏型スキル値), CDTXMania.Instance.stage結果.b新記録スキル[i]);\r
250                                 }\r
251                                 if (num >= 700)\r
252                                 {\r
253                                         this.t小文字表示(x + (int)(0x48 * Scale.X), y + (int)(0x9a * Scale.Y), "%");\r
254                                 }\r
255                                 if (num >= 800)\r
256                                 {\r
257                                         this.t大文字表示(x, y + (int)(0xb0 * Scale.Y), string.Format("{0,9:########0}", CDTXMania.Instance.stage結果.n演奏回数[i]));\r
258                                 }\r
259                         }\r
260                         if (this.ct表示用.n現在の値 < 900)\r
261                         {\r
262                                 int num5 = this.ct表示用.n現在の値 / 100;\r
263                                 double num6 = 1.0 - (((double)(this.ct表示用.n現在の値 % 100)) / 100.0);\r
264                                 int num7 = 0x157;\r
265                                 int num8 = 0x6d + (num5 * 0x16);\r
266                                 int num9 = 0x11c;\r
267                                 int num10 = 0x10;\r
268                                 if (this.txWhite != null)\r
269                                 {\r
270                                         this.txWhite.n透明度 = (int)(255.0 * num6);\r
271                                         Rectangle rectangle = new Rectangle(0, 0, 0x40, 0);\r
272                                         while (num9 > 0)\r
273                                         {\r
274                                                 rectangle.Height = num10;\r
275                                                 if (num9 < 0x40)\r
276                                                 {\r
277                                                         rectangle.Width = num9;\r
278                                                 }\r
279                                                 Rectangle rect = rectangle;\r
280                                                 rect.X = (int)(rect.X * Scale.X);\r
281                                                 rect.Y = (int)(rect.Y * Scale.Y);\r
282                                                 rect.Width = (int)(rect.Width * Scale.X);\r
283                                                 rect.Height = (int)(rect.Height * Scale.Y);\r
284                                                 this.txWhite.t2D描画(\r
285                                                         CDTXMania.Instance.Device,\r
286                                                         num7 * Scale.X,\r
287                                                         num8 * Scale.Y,\r
288                                                         rect\r
289                                                 );\r
290                                                 num7 += 0x40;\r
291                                                 num9 -= 0x40;\r
292                                         }\r
293                                 }\r
294                         }\r
295                         if (this.ct表示用.n現在の値 >= 900)\r
296                         {\r
297                                 for (E楽器パート j = E楽器パート.DRUMS; j <= E楽器パート.BASS; j++)\r
298                                 {\r
299                                         if (CDTXMania.Instance.stage結果.st演奏記録[j].bフルコンボである)\r
300                                         {\r
301                                                 if (this.ct表示用.b終了値に達した)\r
302                                                 {\r
303                                                         if (this.txFullCombo != null)\r
304                                                         {\r
305                                                                 this.txFullCombo.t2D描画(\r
306                                                                         CDTXMania.Instance.Device,\r
307                                                                         this.n本体X + CDTXMania.Instance.Coordinates.PointFullCombo[j].X,\r
308                                                                         this.n本体Y + CDTXMania.Instance.Coordinates.PointFullCombo[j].Y\r
309                                                                 );\r
310                                                         }\r
311                                                         if (!this.bフルコンボ音再生済み)\r
312                                                         {\r
313                                                                 if (((CDTXMania.Instance.DTX.SOUND_FULLCOMBO != null) && (CDTXMania.Instance.DTX.SOUND_FULLCOMBO.Length > 0)) && File.Exists(CDTXMania.Instance.DTX.strフォルダ名 + CDTXMania.Instance.DTX.SOUND_FULLCOMBO))\r
314                                                                 {\r
315                                                                         try\r
316                                                                         {\r
317                                                                                 if (this.sdDTXで指定されたフルコンボ音 != null)\r
318                                                                                 {\r
319                                                                                         CDTXMania.Instance.Sound管理.tサウンドを破棄する(this.sdDTXで指定されたフルコンボ音);\r
320                                                                                         this.sdDTXで指定されたフルコンボ音 = null;\r
321                                                                                 }\r
322                                                                                 this.sdDTXで指定されたフルコンボ音 = CDTXMania.Instance.Sound管理.tサウンドを生成する(CDTXMania.Instance.DTX.strフォルダ名 + CDTXMania.Instance.DTX.SOUND_FULLCOMBO);\r
323                                                                                 if (this.sdDTXで指定されたフルコンボ音 != null)\r
324                                                                                 {\r
325                                                                                         this.sdDTXで指定されたフルコンボ音.t再生を開始する();\r
326                                                                                 }\r
327                                                                         }\r
328                                                                         catch\r
329                                                                         {\r
330                                                                         }\r
331                                                                 }\r
332                                                                 else\r
333                                                                 {\r
334                                                                         CDTXMania.Instance.Skin.soundフルコンボ音.t再生する();\r
335                                                                 }\r
336                                                                 this.bフルコンボ音再生済み = true;\r
337                                                         }\r
338                                                 }\r
339                                                 else\r
340                                                 {\r
341                                                         double num12 = ((double)(this.ct表示用.n現在の値 - 900)) / 100.0;\r
342                                                         float num13 = (float)(2.0 - num12);\r
343                                                         if (this.txFullCombo != null)\r
344                                                         {\r
345                                                                 this.txFullCombo.vc拡大縮小倍率 = new Vector3(num13, num13, 1f);\r
346                                                                 this.txFullCombo.n透明度 = (int)(255.0 * num12);\r
347                                                                 int num14 = (this.n本体X + CDTXMania.Instance.Coordinates.PointFullCombo[j].X) + ((int)((this.txFullCombo.sz画像サイズ.Width * (1f - num13)) / 2f));\r
348                                                                 int num15 = (this.n本体Y + CDTXMania.Instance.Coordinates.PointFullCombo[j].Y) + ((int)((this.txFullCombo.sz画像サイズ.Height * (1f - num13)) / 2f));\r
349                                                                 this.txFullCombo.t2D描画(CDTXMania.Instance.Device, num14, num15);\r
350                                                         }\r
351                                                 }\r
352                                         }\r
353                                 }\r
354                         }\r
355                         if (!this.ct表示用.b終了値に達した)\r
356                         {\r
357                                 return 0;\r
358                         }\r
359                         return 1;\r
360                 }\r
361 \r
362 \r
363                 // その他\r
364 \r
365                 #region [ private ]\r
366                 //-----------------\r
367                 [StructLayout(LayoutKind.Sequential)]\r
368                 private struct ST文字位置\r
369                 {\r
370                         public char ch;\r
371                         public Point pt;\r
372                 }\r
373 \r
374                 private bool bフルコンボ音再生済み;\r
375                 private CCounter ct表示用;\r
376                 private int n本体X;\r
377                 private int n本体Y;\r
378                 private CSound sdDTXで指定されたフルコンボ音;\r
379                 private readonly ST文字位置[] st小文字位置;\r
380                 private readonly ST文字位置[] st大文字位置;\r
381                 private CTexture txFullCombo;\r
382                 private CTexture txWhite;\r
383                 private CTexture txパネル本体;\r
384                 private CTexture[] tx文字 = new CTexture[2];\r
385 \r
386                 private void t小文字表示(int x, int y, string str)\r
387                 {\r
388                         this.t小文字表示(x, y, str, false);\r
389                 }\r
390                 private void t小文字表示(int x, int y, string str, bool b強調)\r
391                 {\r
392                         foreach (char ch in str)\r
393                         {\r
394                                 for (int i = 0; i < this.st小文字位置.Length; i++)\r
395                                 {\r
396                                         if (this.st小文字位置[i].ch == ch)\r
397                                         {\r
398                                                 Rectangle rectangle = new Rectangle(\r
399                                                         this.st小文字位置[i].pt.X,\r
400                                                         this.st小文字位置[i].pt.Y,\r
401                                                         (int)(11 * Scale.X),\r
402                                                         (int)(0x10 * Scale.Y)\r
403                                                 );\r
404                                                 if (ch == '%')\r
405                                                 {\r
406                                                         rectangle.Width -= (int)(2 * Scale.X);\r
407                                                         rectangle.Height -= (int)(2 * Scale.Y);\r
408                                                 }\r
409                                                 if (this.tx文字[b強調 ? 1 : 0] != null)\r
410                                                 {\r
411                                                         this.tx文字[b強調 ? 1 : 0].t2D描画(CDTXMania.Instance.Device, x, y, rectangle);\r
412                                                 }\r
413                                                 break;\r
414                                         }\r
415                                 }\r
416                                 //x += (int) ( 8 * Scale.X );\r
417                                 x += (int)(9 * Scale.X);\r
418                         }\r
419                 }\r
420                 private void t大文字表示(int x, int y, string str)\r
421                 {\r
422                         this.t大文字表示(x, y, str, false);\r
423                 }\r
424                 private void t大文字表示(int x, int y, string str, bool b強調)\r
425                 {\r
426                         foreach (char ch in str)\r
427                         {\r
428                                 for (int i = 0; i < this.st大文字位置.Length; i++)\r
429                                 {\r
430                                         if (this.st大文字位置[i].ch == ch)\r
431                                         {\r
432                                                 Rectangle rectangle = new Rectangle(\r
433                                                         this.st大文字位置[i].pt.X,\r
434                                                         this.st大文字位置[i].pt.Y,\r
435                                                         (int)(11 * Scale.X),\r
436                                                         (int)(0x10 * Scale.Y)\r
437                                                 );\r
438                                                 if (ch == '.')\r
439                                                 {\r
440                                                         rectangle.Width -= (int)(2 * Scale.X);\r
441                                                         rectangle.Height -= (int)(2 * Scale.Y);\r
442                                                 }\r
443                                                 if (this.tx文字[b強調 ? 1 : 0] != null)\r
444                                                 {\r
445                                                         this.tx文字[b強調 ? 1 : 0].t2D描画(CDTXMania.Instance.Device, x, y, rectangle);\r
446                                                 }\r
447                                                 break;\r
448                                         }\r
449                                 }\r
450                                 //x += (int) ( 8 * Scale.X );\r
451                                 x += 27;\r
452                         }\r
453                 }\r
454                 //-----------------\r
455                 #endregion\r
456         }\r
457 }\r