OSDN Git Service

4dbedb65a08799fcc2dff57c46d29d94e8e3bb8e
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / DTXManiaプロジェクト / コード / ステージ / 04.コンフィグ / CStageコンフィグ.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Globalization;
5 using System.Runtime.InteropServices;
6 using System.Drawing;
7 using System.Diagnostics;
8 using SharpDX;
9 using FDK;
10
11 using Color = System.Drawing.Color;
12 using Rectangle = System.Drawing.Rectangle;
13 using SlimDXKey = SlimDX.DirectInput.Key;
14 namespace DTXMania
15 {
16         internal class CStageコンフィグ : CStage
17         {
18                 // プロパティ
19
20                 //public CActDFPFont actFont { get; private set; }
21
22
23                 // コンストラクタ
24
25                 public CStageコンフィグ()
26                 {
27                         //CActDFPFont font;
28                         base.eステージID = CStage.Eステージ.コンフィグ;
29                         base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
30                         //this.actFont = font = new CActDFPFont();
31                         //base.list子Activities.Add( font );
32                         base.list子Activities.Add( this.actFIFO = new CActFIFOWhite() );
33                         base.list子Activities.Add( this.actKeyAssign = new CActConfigKeyAssign() );
34                         base.list子Activities.Add( this.actオプションパネル = new CActオプションパネル() );
35                         base.b活性化してない = true;
36                 }
37                 
38                 
39                 // メソッド
40
41                 public void tアサイン完了通知()                                                                                                                 // CONFIGにのみ存在
42                 {                                                                                                                                                                               //
43                         this.eItemPanelモード = EItemPanelモード.パッド一覧;                                                         //
44                 }                                                                                                                                                                               //
45                 public void tパッド選択通知( EKeyConfigPart part, EKeyConfigPad pad )                                                    //
46                 {                                                                                                                                                                               //
47                         this.actKeyAssign.t開始( part, pad, this.actList.ib現在の選択項目.str項目名 );              //
48                         this.eItemPanelモード = EItemPanelモード.キーコード一覧;                                                   //
49                 }                                                                                                                                                                               //
50                 public void t項目変更通知()                                                                                                                               // OPTIONと共通
51                 {                                                                                                                                                                               //
52                         this.actList.t説明文パネルに現在選択されている項目の説明を描画する();                         //
53                 }                                                                                                                                                                               //
54
55                 
56                 // CStage 実装
57
58                 public override void On活性化()
59                 {
60             if( CDTXMania.bXGRelease )
61                             base.list子Activities.Add( this.actList = new CActConfigListXG() );
62             else
63                             base.list子Activities.Add( this.actList = new CActConfigListGD() );
64                         Trace.TraceInformation( "コンフィグステージを活性化します。" );
65                         Trace.Indent();
66                         try
67                         {
68                                 this.n現在のメニュー番号 = 0;                                                                                                  //
69                                 for ( int i = 0; i < 4; i++ )                                                                                                   //
70                                 {                                                                                                                                                               //
71                                         this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.Timer );                 //
72                                 }                                                                                                                                                               //
73                                 this.bメニューにフォーカス中 = true;                                                                                 // ここまでOPTIONと共通
74                                 this.eItemPanelモード = EItemPanelモード.パッド一覧;
75                         }
76                         finally
77                         {
78                                 Trace.TraceInformation( "コンフィグステージの活性化を完了しました。" );
79                                 Trace.Unindent();
80                         }
81                         base.On活性化();             // 2011.3.14 yyagi: On活性化()をtryの中から外に移動
82                 }
83                 public override void On非活性化()
84                 {
85                         Trace.TraceInformation( "コンフィグステージを非活性化します。" );
86                         Trace.Indent();
87                         try
88                         {
89                                 CDTXMania.ConfigIni.t書き出し( CDTXMania.strEXEのあるフォルダ + "Config.ini" );      // CONFIGだけ
90                                 for( int i = 0; i < 4; i++ )
91                                 {
92                                         this.ctキー反復用[ i ] = null;
93                                 }
94                                 base.On非活性化();
95                         }
96                         catch ( UnauthorizedAccessException e )
97                         {
98                                 Trace.TraceError( e.Message + "ファイルが読み取り専用になっていないか、管理者権限がないと書き込めなくなっていないか等を確認して下さい" );
99                         }
100                         catch ( Exception e )
101                         {
102                                 Trace.TraceError( e.Message );
103                         }
104                         finally
105                         {
106                 base.list子Activities.Remove( this.actList );
107                                 Trace.TraceInformation( "コンフィグステージの非活性化を完了しました。" );
108                                 Trace.Unindent();
109                         }
110                 }
111                 public override void OnManagedリソースの作成()                                                                                   // OPTIONと画像以外共通
112                 {
113                         if( !base.b活性化してない )
114                         {
115                                 this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_background.png" ), false );
116                                 this.tx上部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\4_header panel.png" ), true );
117                                 this.tx下部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\4_footer panel.png" ), true );
118                                 this.txMenuカーソル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_menu cursor.png" ), false );
119
120                                 prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), 20 );
121                                 string[] strMenuItem = { "System", "Drums", "Guitar", "Bass", "Exit" };
122                                 txMenuItemLeft = new CTexture[ strMenuItem.Length, 2 ];
123                                 for ( int i = 0; i < strMenuItem.Length; i++ )
124                                 {
125                                         Bitmap bmpStr;
126                                         bmpStr = prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black );
127                                         txMenuItemLeft[ i, 0 ] = CDTXMania.tテクスチャの生成( bmpStr, false );
128                                         bmpStr.Dispose();
129                                         bmpStr = prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed );
130                                         txMenuItemLeft[ i, 1 ] = CDTXMania.tテクスチャの生成( bmpStr, false );
131                                         bmpStr.Dispose();
132                                 }
133                                 base.OnManagedリソースの作成();
134                         }
135                 }
136                 public override void OnManagedリソースの解放()                                                                                   // OPTIONと同じ(COnfig.iniの書き出しタイミングのみ異なるが、無視して良い)
137                 {
138                         if( !base.b活性化してない )
139                         {
140                                 CDTXMania.tテクスチャの解放( ref this.tx背景 );
141                                 CDTXMania.tテクスチャの解放( ref this.tx上部パネル );
142                                 CDTXMania.tテクスチャの解放( ref this.tx下部パネル );
143                                 CDTXMania.tテクスチャの解放( ref this.txMenuカーソル );
144                                 prvFont.Dispose();
145                                 for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ )
146                                 {
147                                         txMenuItemLeft[ i, 0 ].Dispose();
148                                         txMenuItemLeft[ i, 0 ] = null;
149                                         txMenuItemLeft[ i, 1 ].Dispose();
150                                         txMenuItemLeft[ i, 1 ] = null;
151                                 }
152                                 txMenuItemLeft = null;
153                                 base.OnManagedリソースの解放();
154                         }
155                 }
156                 public override int On進行描画()
157                 {
158                         if( base.b活性化してない )
159                                 return 0;
160
161                         if( base.b初めての進行描画 )
162                         {
163                                 base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;
164                                 this.actFIFO.tフェードイン開始();
165                                 base.b初めての進行描画 = false;
166                         }
167
168                         // 描画
169
170                         #region [ 背景 ]
171                         //---------------------
172                         if( this.tx背景 != null )
173                                 this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 );
174                         //---------------------
175                         #endregion
176                         #region [ メニューカーソル ]
177                         //---------------------
178                         if ( this.txMenuカーソル != null )
179                         {
180                                 Rectangle rectangle;
181                                 this.txMenuカーソル.n透明度 = this.bメニューにフォーカス中 ? 0xff : 0x80;
182                                 int x = 111;
183                                 int y = 144 + ( this.n現在のメニュー番号 * 38 );
184                                 int num3 = 340;
185                                 this.txMenuカーソル.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 0, 0, 32, 48 ) );
186                                 this.txMenuカーソル.t2D描画( CDTXMania.app.Device, ( x + num3 ) - 32, y, new Rectangle( 20, 0, 32, 48 ) );
187                                 x += 32;
188                                 for ( num3 -= (int) ( 0x20 * Scale.X ); num3 > 0; num3 -= rectangle.Width )
189                                 {
190                                         rectangle = new Rectangle( 16, 0, 32, 48 );
191                                         if ( num3 < 32 )
192                                         {
193                                                 rectangle.Width -= 32 - num3;
194                                         }
195                                         this.txMenuカーソル.t2D描画( CDTXMania.app.Device, x, y, rectangle );
196                                         x += rectangle.Width;
197                                 }
198                         }
199                         //---------------------
200                         #endregion
201                         #region [ メニュー ]
202                         //---------------------
203                         int menuY = 162 - 22;
204                         int stepY = 39;
205                         for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ )
206                         {
207                                 //Bitmap bmpStr = (this.n現在のメニュー番号 == i) ?
208                                 //      prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) :
209                                 //      prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black );
210                                 //txMenuItemLeft = CDTXMania.tテクスチャの生成( bmpStr, false );
211                                 int flag = ( this.n現在のメニュー番号 == i ) ? 1 : 0;
212                                 int num4 = txMenuItemLeft[ i, flag ].sz画像サイズ.Width;
213                                 txMenuItemLeft[ i, flag ].t2D描画( CDTXMania.app.Device, 282 - ( num4 / 2 ), menuY ); //55
214                                 //txMenuItem.Dispose();
215                                 menuY += stepY;
216                         }
217                         //---------------------
218                         #endregion
219                         #region [ アイテム ]
220                         //---------------------
221                         switch( this.eItemPanelモード )
222                         {
223                                 case EItemPanelモード.パッド一覧:
224                                         this.actList.t進行描画( !this.bメニューにフォーカス中 );
225                                         break;
226
227                                 case EItemPanelモード.キーコード一覧:
228                                         this.actKeyAssign.On進行描画();
229                                         break;
230                         }
231                         //---------------------
232                         #endregion
233                         #region [ 上部パネル ]
234                         //---------------------
235                         if( this.tx上部パネル != null )
236                                 this.tx上部パネル.t2D描画( CDTXMania.app.Device, 0, 0 );
237                         //---------------------
238                         #endregion
239                         #region [ 下部パネル ]
240                         //---------------------
241                         if( this.tx下部パネル != null )
242                                 this.tx下部パネル.t2D描画( CDTXMania.app.Device, 0, SampleFramework.GameWindowSize.Height - this.tx下部パネル.sz画像サイズ.Height );
243                         //---------------------
244                         #endregion
245                         #region [ オプションパネル ]
246                         //---------------------
247                         this.actオプションパネル.On進行描画();
248                         //---------------------
249                         #endregion
250                         #region [ フェードイン・アウト ]
251                         //---------------------
252                         switch( base.eフェーズID )
253                         {
254                                 case CStage.Eフェーズ.共通_フェードイン:
255                                         if( this.actFIFO.On進行描画() != 0 )
256                                         {
257                                                 CDTXMania.Skin.bgmコンフィグ画面.t再生する();
258                                                 base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
259                                         }
260                                         break;
261
262                                 case CStage.Eフェーズ.共通_フェードアウト:
263                                         if( this.actFIFO.On進行描画() == 0 )
264                                         {
265                                                 break;
266                                         }
267                                         return 1;
268                         }
269                         //---------------------
270                         #endregion
271
272                         #region [ Enumerating Songs ]
273                         // CActEnumSongs側で表示する
274                         #endregion
275
276                         // キー入力
277                         #region [ キー入力 ]
278                         if ( ( base.eフェーズID != CStage.Eフェーズ.共通_通常状態 )
279                                 || this.actKeyAssign.bキー入力待ちの最中である
280                                 || CDTXMania.act現在入力を占有中のプラグイン != null )
281                                 return 0;
282
283                         // 曲データの一覧取得中は、キー入力を無効化する
284                         if ( !CDTXMania.EnumSongs.IsEnumerating || CDTXMania.actEnumSongs.bコマンドでの曲データ取得 != true )
285                         {
286                                 if ( ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.Escape ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) )
287                                 {
288                                         CDTXMania.Skin.sound取消音.t再生する();
289                                         if ( !this.bメニューにフォーカス中 )
290                                         {
291                                                 if ( this.eItemPanelモード == EItemPanelモード.キーコード一覧 )
292                                                 {
293                                                         CDTXMania.stageコンフィグ.tアサイン完了通知();
294                                                         return 0;
295                                                 }
296                                                 if ( !this.actList.bIsKeyAssignSelected && !this.actList.bIsFocusingParameter ) // #24525 2011.3.15 yyagi, #32059 2013.9.17 yyagi
297                                                 {
298                                                         this.bメニューにフォーカス中 = true;
299                                                 }
300                                                 this.actList.t説明文パネルに現在選択されているメニューの説明を描画する( this.n現在のメニュー番号 );
301                                                 this.actList.tEsc押下();                                                              // #24525 2011.3.15 yyagi ESC押下時の右メニュー描画用
302                                         }
303                                         else
304                                         {
305                                                 this.actFIFO.tフェードアウト開始();
306                                                 base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
307                                         }
308                                 }
309                                 #region [ ← ]
310                                 else if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.LeftArrow ) )  // 左カーソルキー
311                                 {
312                                         if ( !this.bメニューにフォーカス中 )
313                                         {
314                                                 if ( this.eItemPanelモード == EItemPanelモード.キーコード一覧 )
315                                                 {
316                                                         //キーコンフィグ画面中は、[←]押下に反応させない
317                                                         return 0;
318                                                 }
319                                                 if ( this.actList.bIsFocusingParameter )
320                                                 {
321                                                         // パラメータを増減している最中も、[←]押下に反応させない
322                                                         return 0;
323                                                 }
324                                                 if ( !this.actList.bIsKeyAssignSelected && !this.actList.bIsFocusingParameter ) // #24525 2011.3.15 yyagi, #32059 2013.9.17 yyagi
325                                                 {
326                                                         this.bメニューにフォーカス中 = true;
327                                                 }
328                                                 CDTXMania.Skin.sound取消音.t再生する();
329                                                 this.actList.t説明文パネルに現在選択されているメニューの説明を描画する( this.n現在のメニュー番号 );
330                                                 this.actList.tEsc押下();                                                              // #24525 2011.3.15 yyagi ESC押下時の右メニュー描画用
331                                         }
332                                 }
333                                 #endregion
334                                 else if ( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.Return ) ) ) )
335                                 {
336                                         #region [ EXIT ]
337                                         if ( this.n現在のメニュー番号 == 4 )
338                                         {
339                                                 CDTXMania.Skin.sound決定音.t再生する();
340                                                 this.actFIFO.tフェードアウト開始();
341                                                 base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
342                                         }
343                                         #endregion
344                                         else if ( this.bメニューにフォーカス中 )
345                                         {
346                                                 CDTXMania.Skin.sound決定音.t再生する();
347                                                 this.bメニューにフォーカス中 = false;
348                                                 this.actList.t説明文パネルに現在選択されている項目の説明を描画する();
349                                         }
350                                         else
351                                         {
352                                                 switch ( this.eItemPanelモード )
353                                                 {
354                                                         case EItemPanelモード.パッド一覧:
355                                                                 bool bIsKeyAssignSelectedBeforeHitEnter = this.actList.bIsKeyAssignSelected;    // #24525 2011.3.15 yyagi
356                                                                 this.actList.tEnter押下();
357                                                                 if ( this.actList.b現在選択されている項目はReturnToMenuである )
358                                                                 {
359                                                                         this.actList.t説明文パネルに現在選択されているメニューの説明を描画する( this.n現在のメニュー番号 );
360                                                                         if ( bIsKeyAssignSelectedBeforeHitEnter == false )                                                      // #24525 2011.3.15 yyagi
361                                                                         {
362                                                                                 this.bメニューにフォーカス中 = true;
363                                                                         }
364                                                                 }
365                                                                 break;
366
367                                                         case EItemPanelモード.キーコード一覧:
368                                                                 this.actKeyAssign.tEnter押下();
369                                                                 break;
370                                                 }
371                                         }
372                                 }
373                                 #region [ → ]
374                                 else if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDXKey.RightArrow ) ) // 右カーソルキー
375                                 {
376                                         #region [ EXIT ]
377                                         if ( this.n現在のメニュー番号 == 4 )
378                                         {
379                                                 // 何もしない
380                                         }
381                                         #endregion
382                                         else if ( this.bメニューにフォーカス中 )
383                                         {
384                                                 CDTXMania.Skin.sound決定音.t再生する();
385                                                 this.bメニューにフォーカス中 = false;
386                                                 this.actList.t説明文パネルに現在選択されている項目の説明を描画する();
387                                         }
388                                 }
389                                 #endregion
390                                 this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDXKey.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
391                                 this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
392                                 if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) )
393                                 {
394                                         this.tカーソルを上へ移動する();
395                                 }
396                                 this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDXKey.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
397                                 this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
398                                 if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) )
399                                 {
400                                         this.tカーソルを下へ移動する();
401                                 }
402                         }
403                         #endregion
404                         return 0;
405                 }
406
407
408                 // その他
409
410                 #region [ private ]
411                 //-----------------
412                 private enum EItemPanelモード
413                 {
414                         パッド一覧,
415                         キーコード一覧
416                 }
417
418                 [StructLayout( LayoutKind.Sequential )]
419                 private struct STキー反復用カウンタ
420                 {
421                         public CCounter Up;
422                         public CCounter Down;
423                         public CCounter R;
424                         public CCounter B;
425                         public CCounter this[ int index ]
426                         {
427                                 get
428                                 {
429                                         switch( index )
430                                         {
431                                                 case 0:
432                                                         return this.Up;
433
434                                                 case 1:
435                                                         return this.Down;
436
437                                                 case 2:
438                                                         return this.R;
439
440                                                 case 3:
441                                                         return this.B;
442                                         }
443                                         throw new IndexOutOfRangeException();
444                                 }
445                                 set
446                                 {
447                                         switch( index )
448                                         {
449                                                 case 0:
450                                                         this.Up = value;
451                                                         return;
452
453                                                 case 1:
454                                                         this.Down = value;
455                                                         return;
456
457                                                 case 2:
458                                                         this.R = value;
459                                                         return;
460
461                                                 case 3:
462                                                         this.B = value;
463                                                         return;
464                                         }
465                                         throw new IndexOutOfRangeException();
466                                 }
467                         }
468                 }
469
470                 private CActFIFOWhite actFIFO;
471                 private CActConfigKeyAssign actKeyAssign;
472         private CActConfigList共通 actList;
473                 private CActオプションパネル actオプションパネル;
474                 public bool bメニューにフォーカス中;
475                 private STキー反復用カウンタ ctキー反復用;
476                 private const int DESC_H = 0x80;
477                 private const int DESC_W = 220;
478                 private EItemPanelモード eItemPanelモード;
479                 public int n現在のメニュー番号;
480                 private CTexture txMenuカーソル;
481                 private CTextureAf tx下部パネル;
482                 private CTextureAf tx上部パネル;
483                 private CTexture tx背景;
484                 private CPrivateFastFont prvFont;
485                 private CTexture[ , ] txMenuItemLeft;
486
487                 private void tカーソルを下へ移動する()
488                 {
489                         if( !this.bメニューにフォーカス中 )
490                         {
491                                 switch( this.eItemPanelモード )
492                                 {
493                                         case EItemPanelモード.パッド一覧:
494                                                 this.actList.t次に移動();
495                                                 return;
496
497                                         case EItemPanelモード.キーコード一覧:
498                                                 this.actKeyAssign.t次に移動();
499                                                 return;
500                                 }
501                         }
502                         else
503                         {
504                                 CDTXMania.Skin.soundカーソル移動音.t再生する();
505                                 this.n現在のメニュー番号 = ( this.n現在のメニュー番号 + 1 ) % 5;
506                                 switch( this.n現在のメニュー番号 )
507                                 {
508                                         case 0:
509                                                 this.actList.t項目リストの設定_System();
510                                                 break;
511
512                                         //case 1:
513                                         //    this.actList.t項目リストの設定・KeyAssignDrums();
514                                         //    break;
515
516                                         //case 2:
517                                         //    this.actList.t項目リストの設定・KeyAssignGuitar();
518                                         //    break;
519
520                                         //case 3:
521                                         //    this.actList.t項目リストの設定・KeyAssignBass();
522                                         //    break;
523
524                                         case 1:
525                                                 this.actList.t項目リストの設定_Drums();
526                                                 break;
527
528                                         case 2:
529                                                 this.actList.t項目リストの設定_Guitar();
530                                                 break;
531
532                                         case 3:
533                                                 this.actList.t項目リストの設定_Bass();
534                                                 break;
535
536                                         case 4:
537                                                 this.actList.t項目リストの設定_Exit();
538                                                 break;
539                                 }
540                                 this.actList.t説明文パネルに現在選択されているメニューの説明を描画する( this.n現在のメニュー番号 );
541                         }
542                 }
543                 private void tカーソルを上へ移動する()
544                 {
545                         if( !this.bメニューにフォーカス中 )
546                         {
547                                 switch( this.eItemPanelモード )
548                                 {
549                                         case EItemPanelモード.パッド一覧:
550                                                 this.actList.t前に移動();
551                                                 return;
552
553                                         case EItemPanelモード.キーコード一覧:
554                                                 this.actKeyAssign.t前に移動();
555                                                 return;
556                                 }
557                         }
558                         else
559                         {
560                                 CDTXMania.Skin.soundカーソル移動音.t再生する();
561                                 this.n現在のメニュー番号 = ( ( this.n現在のメニュー番号 - 1 ) + 5 ) % 5;
562                                 switch( this.n現在のメニュー番号 )
563                                 {
564                                         case 0:
565                                                 this.actList.t項目リストの設定_System();
566                                                 break;
567
568                                         //case 1:
569                                         //    this.actList.t項目リストの設定・KeyAssignDrums();
570                                         //    break;
571
572                                         //case 2:
573                                         //    this.actList.t項目リストの設定・KeyAssignGuitar();
574                                         //    break;
575
576                                         //case 3:
577                                         //    this.actList.t項目リストの設定・KeyAssignBass();
578                                         //    break;
579                                         case 1:
580                                                 this.actList.t項目リストの設定_Drums();
581                                                 break;
582
583                                         case 2:
584                                                 this.actList.t項目リストの設定_Guitar();
585                                                 break;
586
587                                         case 3:
588                                                 this.actList.t項目リストの設定_Bass();
589                                                 break;
590
591                                         case 4:
592                                                 this.actList.t項目リストの設定_Exit();
593                                                 break;
594                                 }
595                                 this.actList.t説明文パネルに現在選択されているメニューの説明を描画する( this.n現在のメニュー番号 );
596                         }
597                 }
598                 //-----------------
599                 #endregion
600         }
601 }