Beispiel #1
0
            /// <summary>
            /// コマンド入力履歴へのコマンド追加
            /// </summary>
            /// <param name="_eInst">楽器の種類</param>
            /// <param name="_ePad">入力コマンド(同時押しはOR演算で列挙すること)</param>
            public void Add(E楽器パート _eInst, EパッドFlag _ePad)
            {
                STCommandTime _stct = new STCommandTime {
                    eInst = _eInst,
                    ePad  = _ePad,
                    time  = TJAPlayer3.Timer.n現在時刻
                };

                if (stct.Count >= buffersize)
                {
                    stct.RemoveAt(0);
                }
                stct.Add(_stct);
            }
Beispiel #2
0
            /// <summary>
            /// コマンド入力履歴へのコマンド追加
            /// </summary>
            /// <param name="_eInst">楽器の種類</param>
            /// <param name="_ePad">入力コマンド(同時押しはOR演算で列挙すること)</param>
            public void Add(E楽器パート _eInst, EパッドFlag _ePad)
            {
                STCommandTime _stct = new STCommandTime {
                    eInst = _eInst,
                    ePad  = _ePad,
                    time  = TJAPlayer3.Timer.n現在時刻
                };

                if (stct.Count >= buffersize)
                {
                    stct.RemoveAt(0);
                }
                stct.Add(_stct);
//Debug.WriteLine( "CMDHIS: 楽器=" + _stct.eInst + ", CMD=" + _stct.ePad + ", time=" + _stct.time );
            }
Beispiel #3
0
        public override int On進行描画()
        {
            if (!base.b活性化してない)
            {
                this.ct背景スクロール用タイマー?.t進行Loop();
                #region [ 初めての進行描画 ]
                //---------------------
                if (base.b初めての進行描画)
                {
                    this.どんちゃんアクション中 = false;
                    this.ct登場時アニメ用共通 = new CCounter(0, 100, 3, TJAPlayer3.Timer);
                    if (TJAPlayer3.r直前のステージ == TJAPlayer3.stage結果)
                    {
                        this.actFIfrom結果画面.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.選曲_結果画面からのフェードイン;
                    }
                    else
                    {
                        this.actFIFO.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;
                    }
                    this.t選択曲変更通知();
                    base.b初めての進行描画 = false;
                }
                //---------------------
                #endregion

                this.ctDanStop?.t進行();
                this.ct登場時アニメ用共通?.t進行();

                TJAPlayer3.Tx.SongSelect_Background?.t2D描画(TJAPlayer3.app.Device, 0, 0);

                if (this.r現在選択中の曲 != null)
                {
                    if (this.nStrジャンルtoNum(this.r現在選択中の曲.strジャンル) != 0 || r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.BOX || r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE)
                    {
                        nGenreBack = this.nStrジャンルtoNum(this.r現在選択中の曲.strジャンル);
                    }
                    if (TJAPlayer3.Tx.SongSelect_GenreBack[nGenreBack] != null)
                    {
                        for (int i = 0; i < (1280 / TJAPlayer3.Tx.SongSelect_Background.szテクスチャサイズ.Width) + 2; i++)
                        {
                            TJAPlayer3.Tx.SongSelect_GenreBack[nGenreBack]?.t2D描画(TJAPlayer3.app.Device, -ct背景スクロール用タイマー.n現在の値 + TJAPlayer3.Tx.SongSelect_Background.szテクスチャサイズ.Width * i, 0);
                        }
                    }

                    switch (r現在選択中の曲.eノード種別)
                    {
                    case C曲リストノード.Eノード種別.SCORE:
                    case C曲リストノード.Eノード種別.BACKBOX:
                        TJAPlayer3.Tx.SongSelect_BoxBack[nGenreBack]?.t2D描画(TJAPlayer3.app.Device, 0, 0);
                        break;
                    }
                }

                this.act曲リスト.On進行描画();

                this.actInformation.On進行描画();

                this.actPresound.On進行描画();

                this.act演奏履歴パネル.On進行描画();

                TJAPlayer3.Tx.SongSelect_Difficulty?.t2D描画(TJAPlayer3.app.Device, 980, 30, new Rectangle(0, 70 * this.n現在選択中の曲の難易度, 260, 70));

                if (!this.bBGM再生済み && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態))
                {
                    TJAPlayer3.Skin.bgm選曲画面.t再生する();
                    this.bBGM再生済み = true;
                }

                this.ctDiffSelect移動待ち?.t進行();

                this.ctDiffSelect戻り待ち?.t進行();

                // キー入力
                if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態 &&
                    TJAPlayer3.act現在入力を占有中のプラグイン == null)
                {
                    #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ]
                    if (actQuickConfig.bGotoDetailConfig)
                    {                           // 詳細CONFIG呼び出し
                        actQuickConfig.tDeativatePopupMenu();
                        this.actPresound.tサウンド停止();
                        this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し;                          // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                        this.actFIFO.tフェードアウト開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        return(0);
                    }
                    #endregion
                    if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect)
                    {
                        #region [ ESC ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) && (this.act曲リスト.r現在選択中の曲 != null))// && (  ) ) )
                        {
                            if (this.act曲リスト.r現在選択中の曲.r親ノード == null)
                            {   // [ESC]
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る;
                                this.actFIFO.tフェードアウト開始();
                                base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                                return(0);
                            }
                            else
                            {
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                bool bNeedChangeSkin = this.act曲リスト.tBOXを出る();
                                this.actPresound.tサウンド停止();
                            }
                        }
                        #endregion
                        #region [ Shift-F1: CONFIG画面 ]
                        if ((TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift)) &&
                            TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1))
                        {                                          // [SHIFT] + [F1] CONFIG
                            this.actPresound.tサウンド停止();
                            this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                            this.actFIFO.tフェードアウト開始();
                            base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                            TJAPlayer3.Skin.sound取消音.t再生する();
                            return(0);
                        }
                        #endregion
                        #region [ F2 簡易オプション ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS);
                        }
                        #endregion
                        #region [ F3 1PオートON/OFF ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F3))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay);
                        }
                        #endregion
                        #region [ F4 2PオートON/OFF ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F4))
                        {
                            if (TJAPlayer3.ConfigIni.nPlayerCount > 1)
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P);
                            }
                        }
                        #endregion
                        #region [ F5 スーパーハード ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bSuperHard);
                        }
                        #endregion
                        #region [ F6 SCROLL ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            TJAPlayer3.ConfigIni.bスクロールモードを上書き = true;
                            switch ((int)TJAPlayer3.ConfigIni.eScrollMode)
                            {
                            case 0:
                                TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.BMSCROLL;
                                break;

                            case 1:
                                TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.HBSCROLL;
                                break;

                            case 2:
                                TJAPlayer3.ConfigIni.eScrollMode   = EScrollMode.Normal;
                                TJAPlayer3.ConfigIni.bスクロールモードを上書き = false;
                                break;
                            }
                        }
                        #endregion

                        if (this.act曲リスト.r現在選択中の曲 != null)
                        {
                            #region [ Decide ]
                            if ((TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Tab)))
                            {
                                if (this.act曲リスト.r現在選択中の曲 != null && this.act曲リスト.r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE)
                                {
                                    if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
                                    {
                                        TJAPlayer3.Skin.sound曲決定音.t再生する();
                                    }
                                    TJAPlayer3.stage選曲.ctどんちゃんモーションスタートソング.t開始(0, 8, 30, TJAPlayer3.Timer);
                                    TJAPlayer3.stage選曲.どんちゃんアクション中 = true;
                                    this.t曲を選択する();
                                }
                            }
                            if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) || (TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed) || TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed)) ||
                                 ((TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return)))))
                            {
                                if (this.act曲リスト.r現在選択中の曲 != null)
                                {
                                    switch (this.act曲リスト.r現在選択中の曲.eノード種別)
                                    {
                                    case C曲リストノード.Eノード種別.SCORE:
                                        if (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Tower && TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Dan)
                                        {
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }
                                        TJAPlayer3.Skin.sound曲読込開始音.t再生する();
                                        if (!this.act難易度選択画面.bIsDifficltSelect)
                                        {
                                            this.ctDiffSelect移動待ち = new CCounter(0, 1062, 1, TJAPlayer3.Timer);
                                        }
                                        this.act難易度選択画面.t選択画面初期化();
                                        C共通.bToggleBoolian(ref this.act難易度選択画面.bIsDifficltSelect);
                                        break;

                                    case C曲リストノード.Eノード種別.BOX:
                                    {
                                        bool bNeedChangeSkin = false;
                                        TJAPlayer3.Skin.sound決定音.t再生する();
                                        bNeedChangeSkin = this.act曲リスト.tBOXに入る();
                                        if (bNeedChangeSkin)
                                        {
                                            this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更;
                                            base.eフェーズID         = Eフェーズ.選曲_NowLoading画面へのフェードアウト;
                                        }
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.BACKBOX:
                                    {
                                        TJAPlayer3.Skin.sound取消音.t再生する();
                                        bool bNeedChangeSkin = this.act曲リスト.tBOXを出る();
                                        if (bNeedChangeSkin)
                                        {
                                            this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更;
                                            base.eフェーズID         = Eフェーズ.選曲_NowLoading画面へのフェードアウト;
                                        }
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.RANDOM:
                                        TJAPlayer3.Skin.sound決定音.t再生する();
                                        TJAPlayer3.Skin.sound曲読込開始音.t再生する();
                                        if (!this.act難易度選択画面.bIsDifficltSelect)
                                        {
                                            this.ctDiffSelect移動待ち = new CCounter(0, 1062, 1, TJAPlayer3.Timer);
                                        }
                                        this.act難易度選択画面.t選択画面初期化();
                                        C共通.bToggleBoolian(ref this.act難易度選択画面.bIsDifficltSelect);
                                        break;
                                    }
                                }
                            }
                            #endregion
                            #region [ Up ]
                            this.ctキー反復用.Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftArrow), new CCounter.DGキー処理(this.tカーソルを上へ移動する));
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                            {
                                this.tカーソルを上へ移動する();
                            }
                            #endregion
                            #region [ Down ]
                            this.ctキー反復用.Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightArrow), new CCounter.DGキー処理(this.tカーソルを下へ移動する));
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                            {
                                this.tカーソルを下へ移動する();
                            }
                            #endregion
                            #region [ Upstairs ]
                            if (((this.act曲リスト.r現在選択中の曲 != null) && (this.act曲リスト.r現在選択中の曲.r親ノード != null)) && (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) || TJAPlayer3.Pad.b押されたGB(Eパッド.Cancel)))
                            {
                                this.actPresound.tサウンド停止();
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.act曲リスト.tBOXを出る();
                                this.t選択曲変更通知();
                            }
                            #endregion
                            #region [ BDx2: 簡易CONFIG ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Space))
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                this.actSortSongs.tActivatePopupMenu(E楽器パート.DRUMS, ref this.act曲リスト);
                            }
                            #endregion
                            #region [ HHx2: 難易度変更 ]
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HH) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HHO))
                            {                                   // [HH]x2 難易度変更
                                CommandHistory.Add(E楽器パート.DRUMS, EパッドFlag.HH);
                                EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                if (CommandHistory.CheckCommand(comChangeDifficulty, E楽器パート.DRUMS))
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 上: 難易度変更(上) ]
                            if (false)
                            {
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 下: 難易度変更(下) ]
                            if (false)
                            {
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ戻す();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                        }
                    }

                    #region [ Minus & Equals Sound Group Level ]
                    KeyboardSoundGroupLevelControlHandler.Handle(
                        TJAPlayer3.Input管理.Keyboard, TJAPlayer3.SoundGroupLevelController, TJAPlayer3.Skin, true);
                    #endregion

                    this.actSortSongs.t進行描画();
                    this.actQuickConfig.t進行描画();
                }
                //------------------------------
                if (this.act難易度選択画面.bIsDifficltSelect)
                {
                    if (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Tower && TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Dan)
                    {
                        if (this.ctDiffSelect移動待ち?.n現在の値 == this.ctDiffSelect移動待ち?.n終了値)
                        {
                            this.act難易度選択画面.On進行描画();
                        }
                    }
                    else
                    {
                        if (this.ctDiffSelect移動待ち?.n現在の値 >= 10)
                        {
                            this.act難易度選択画面.On進行描画();
                        }
                    }
                }
                //------------------------------

                TJAPlayer3.Tx.SongSelect_Footer_1?.t2D描画(TJAPlayer3.app.Device, 0, 720 - TJAPlayer3.Tx.SongSelect_Footer_1.sz画像サイズ.Height);


                if (!this.act難易度選択画面.bIsDifficltSelect)
                {
                    this.act演奏履歴パネル.On進行描画();
                }
                this.actShowCurrentPosition.On進行描画();

                int y = 0;
                if (this.ct登場時アニメ用共通.b進行中)
                {
                    double db登場割合  = ((double)this.ct登場時アニメ用共通.n現在の値) / 100.0;  // 100が最終値
                    double dbY表示割合 = Math.Sin(Math.PI / 2 * db登場割合);
                    y = ((int)(TJAPlayer3.Tx.SongSelect_Header.sz画像サイズ.Height * dbY表示割合)) - TJAPlayer3.Tx.SongSelect_Header.sz画像サイズ.Height;
                }


                TJAPlayer3.Tx.SongSelect_Header?.t2D描画(TJAPlayer3.app.Device, 0, 0);

                TJAPlayer3.Tx.SongSelect_Support?.t2D描画(TJAPlayer3.app.Device, 463, 564);

                if (TJAPlayer3.Tx.SongSelect_taiko != null)
                {
                    this.ct太鼓アニメ?.t進行Loop();

                    if (ct太鼓アニメ.n現在の値 <= 360)
                    {
                        TJAPlayer3.Tx.SongSelect_taiko.n透明度 = ct太鼓アニメ.n現在の値 * 255 / 400;
                    }
                    else
                    {
                        TJAPlayer3.Tx.SongSelect_taiko.n透明度 = (1000 - ct太鼓アニメ.n現在の値) * 255 / 400;
                    }

                    TJAPlayer3.Tx.SongSelect_taiko?.t2D描画(TJAPlayer3.app.Device, 0, 720 - TJAPlayer3.Tx.SongSelect_taiko.sz画像サイズ.Height);
                }

                if (TJAPlayer3.Tx.SongSelect_2PCoin != null)
                {
                    this.ct2Pコインアニメ?.t進行Loop();

                    if (ct2Pコインアニメ.n現在の値 <= 360)
                    {
                        TJAPlayer3.Tx.SongSelect_2PCoin.n透明度 = ct2Pコインアニメ.n現在の値 * 255 / 400;
                    }
                    else
                    {
                        TJAPlayer3.Tx.SongSelect_2PCoin.n透明度 = (1000 - ct2Pコインアニメ.n現在の値) * 255 / 400;
                    }

                    TJAPlayer3.Tx.SongSelect_2PCoin?.t2D描画(TJAPlayer3.app.Device, 0, 720 - TJAPlayer3.Tx.SongSelect_2PCoin.sz画像サイズ.Height);
                }

                TJAPlayer3.Tx.Result_Coin?.t2D描画(TJAPlayer3.app.Device, 569, 679);

                #region [ 下部テキスト ]
                if (TJAPlayer3.Tx.SongSelect_Auto != null)
                {
                    if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
                    {
                        TJAPlayer3.Tx.SongSelect_Auto?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[0], TJAPlayer3.Skin.SongSelect_Auto_Y[0]);
                    }
                    if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P)
                    {
                        TJAPlayer3.Tx.SongSelect_Auto?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[1], TJAPlayer3.Skin.SongSelect_Auto_Y[1]);
                    }
                }
                #endregion

                switch (base.eフェーズID)
                {
                case CStage.Eフェーズ.共通_フェードイン:
                    if (this.actFIFO.On進行描画() != 0)
                    {
                        this.どんちゃんアクション中 = false;
                        base.eフェーズID     = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.共通_フェードアウト:
                    if (this.actFIFO.On進行描画() == 0)
                    {
                        this.どんちゃんアクション中 = false;
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);

                case CStage.Eフェーズ.選曲_結果画面からのフェードイン:
                    if (this.actFIfrom結果画面.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト:
                    if (this.actFOtoNowLoading.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);
                }
            }
            return(0);
        }
Beispiel #4
0
        public override int On進行描画()
        {
            if (!base.b活性化してない)
            {
                this.ct背景スクロール用タイマー.t進行Loop();
                #region [ 初めての進行描画 ]
                //---------------------
                if (base.b初めての進行描画)
                {
                    this.ct登場時アニメ用共通 = new CCounter(0, 100, 3, TJAPlayer3.Timer);
                    if (TJAPlayer3.r直前のステージ == TJAPlayer3.stage結果)
                    {
                        this.actFIfrom結果画面.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.選曲_結果画面からのフェードイン;
                    }
                    else
                    {
                        this.actFIFO.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;
                    }
                    this.t選択曲変更通知();
                    base.b初めての進行描画 = false;
                }
                //---------------------
                #endregion

                this.ct登場時アニメ用共通.t進行();

                if (TJAPlayer3.Tx.SongSelect_Background != null)
                {
                    TJAPlayer3.Tx.SongSelect_Background.t2D描画(TJAPlayer3.app.Device, 0, 0);

                    if (this.r現在選択中の曲 != null)
                    {
                        var genreBack = TJAPlayer3.Tx.SongSelect_GenreBack[CStrジャンルtoNum.ForGenreBackIndex(this.r現在選択中の曲.strジャンル)];
                        if (genreBack != null)
                        {
                            var width = TJAPlayer3.Tx.SongSelect_Background.szテクスチャサイズ.Width;
                            for (int i = 0; i < (1280 / width) + 2; i++)
                            {
                                genreBack.t2D描画(TJAPlayer3.app.Device, -ct背景スクロール用タイマー.n現在の値 + width * i, 0);
                            }
                        }
                    }
                }

                //this.actPreimageパネル.On進行描画();
                //	this.bIsEnumeratingSongs = !this.actPreimageパネル.bIsPlayingPremovie;				// #27060 2011.3.2 yyagi: #PREMOVIE再生中は曲検索を中断する

                this.act曲リスト.On進行描画();

                TJAPlayer3.Tx.SongSelect_Header?.t2D描画(TJAPlayer3.app.Device, 0, 0);

                this.actInformation.On進行描画();

                TJAPlayer3.Tx.SongSelect_Footer?.t2D描画(TJAPlayer3.app.Device, 0, 720 - TJAPlayer3.Tx.SongSelect_Footer.sz画像サイズ.Height);

                #region ネームプレート
                for (int i = 0; i < Math.Min(TJAPlayer3.ConfigIni.nPlayerCount, TJAPlayer3.Tx.NamePlate.Length); i++)
                {
                    TJAPlayer3.Tx.NamePlate[i]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_NamePlate_X[i], TJAPlayer3.Skin.SongSelect_NamePlate_Y[i]);
                }
                #endregion

                #region [ 下部テキスト ]
                if (TJAPlayer3.Tx.SongSelect_Auto != null)
                {
                    if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
                    {
                        TJAPlayer3.Tx.SongSelect_Auto.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[0], TJAPlayer3.Skin.SongSelect_Auto_Y[0]);
                    }
                    if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P)
                    {
                        TJAPlayer3.Tx.SongSelect_Auto.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[1], TJAPlayer3.Skin.SongSelect_Auto_Y[1]);
                    }
                }
                if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL");
                }
                if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL HARD");
                }
                if (TJAPlayer3.ConfigIni.bSuperHard)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "SUPER HARD MODE : ON");
                }
                if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.BMSCROLL)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "BMSCROLL : ON");
                }
                else if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.HBSCROLL)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "HBSCROLL : ON");
                }
                if (TJAPlayer3.ConfigIni.eGaugeMode == EGaugeMode.Groove)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 48, C文字コンソール.Eフォント種別.赤, "GAUGE : GROOVE");
                }
                else if (TJAPlayer3.ConfigIni.eGaugeMode == EGaugeMode.Hard)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 48, C文字コンソール.Eフォント種別.赤, "GAUGE : HARD");
                }
                else if (TJAPlayer3.ConfigIni.eGaugeMode == EGaugeMode.ExHard)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 48, C文字コンソール.Eフォント種別.赤, "GAUGE : EXHARD");
                }

                #endregion

                //this.actステータスパネル.On進行描画();

                this.actPresound.On進行描画();
                //if( this.txコメントバー != null )
                {
                    //this.txコメントバー.t2D描画( CDTXMania.app.Device, 484, 314 );
                }
                //this.actArtistComment.On進行描画();
                this.act演奏履歴パネル.On進行描画();
                //this.actオプションパネル.On進行描画();
                this.actShowCurrentPosition.On進行描画();                                                                           // #27648 2011.3.28 yyagi

                //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, this.n現在選択中の曲の難易度.ToString() );
                TJAPlayer3.Tx.SongSelect_Difficulty?.t2D描画(TJAPlayer3.app.Device, 980, 30, new Rectangle(0, 70 * this.n現在選択中の曲の難易度, 260, 70));

                if (!this.bBGM再生済み && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態))
                {
                    TJAPlayer3.Skin.bgm選曲画面.t再生する();
                    this.bBGM再生済み = true;
                }


//Debug.WriteLine( "パンくず=" + this.r現在選択中の曲.strBreadcrumbs );
                if (this.ctDiffSelect移動待ち != null)
                {
                    this.ctDiffSelect移動待ち.t進行();
                }

                // キー入力
                if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)
                {
                    #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ]
                    if (actQuickConfig.bGotoDetailConfig)
                    {                           // 詳細CONFIG呼び出し
                        actQuickConfig.tDeativatePopupMenu();
                        this.actPresound.tサウンド停止();
                        this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し;                          // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                        this.actFIFO.tフェードアウト開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        return(0);
                    }
                    #endregion
                    if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu /*&&  !this.act難易度選択画面.bIsDifficltSelect */)
                    {
                        #region [ ESC ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) && (this.act曲リスト.r現在選択中の曲 != null))// && (  ) ) )
                        {
                            if (this.act曲リスト.r現在選択中の曲.r親ノード == null)
                            {   // [ESC]
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る;
                                this.actFIFO.tフェードアウト開始();
                                base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                                return(0);
                            }
                            else
                            {
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                bool bNeedChangeSkin = this.act曲リスト.tBOXを出る();
                                this.actPresound.tサウンド停止();
                            }
                        }
                        #endregion
                        #region [ Shift-F1: CONFIG画面 ]
                        if ((TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift)) &&
                            TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1))
                        {                                          // [SHIFT] + [F1] CONFIG
                            this.actPresound.tサウンド停止();
                            this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                            this.actFIFO.tフェードアウト開始();
                            base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                            TJAPlayer3.Skin.sound取消音.t再生する();
                            return(0);
                        }
                        #endregion
                        #region [ F2 簡易オプション ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS);
                        }
                        #endregion
                        #region [ F3 1PオートON/OFF ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F3))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay);
                        }
                        #endregion
                        #region [ F4 2PオートON/OFF ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F4))
                        {
                            if (TJAPlayer3.ConfigIni.nPlayerCount > 1)
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P);
                            }
                        }
                        #endregion
                        #region [ F5 スーパーハード ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bSuperHard);
                        }
                        #endregion
                        #region [ F6 SCROLL ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            TJAPlayer3.ConfigIni.bスクロールモードを上書き = true;
                            switch ((int)TJAPlayer3.ConfigIni.eScrollMode)
                            {
                            case 0:
                                TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.BMSCROLL;
                                break;

                            case 1:
                                TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.HBSCROLL;
                                break;

                            case 2:
                                TJAPlayer3.ConfigIni.eScrollMode   = EScrollMode.Normal;
                                TJAPlayer3.ConfigIni.bスクロールモードを上書き = false;
                                break;
                            }
                        }
                        #endregion
                        #region F7 ゲージモード
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F7))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            TJAPlayer3.ConfigIni.bゲージモードを上書き = true;
                            switch ((int)TJAPlayer3.ConfigIni.eGaugeMode)
                            {
                            case 0:
                                TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.Groove;
                                break;

                            case 1:
                                TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.Hard;
                                break;

                            case 2:
                                TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.ExHard;
                                break;

                            case 3:
                                TJAPlayer3.ConfigIni.eGaugeMode  = EGaugeMode.Normal;
                                TJAPlayer3.ConfigIni.bゲージモードを上書き = false;
                                break;
                            }
                        }
                        #endregion

                        if (this.act曲リスト.r現在選択中の曲 != null)
                        {
                            #region [ Decide ]
                            if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) || (TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed) || TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed)) ||
                                 ((TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return)))))
                            {
                                if (this.act曲リスト.r現在選択中の曲 != null)
                                {
                                    switch (this.act曲リスト.r現在選択中の曲.eノード種別)
                                    {
                                    case C曲リストノード.Eノード種別.SCORE:
                                        if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
                                        {
                                            TJAPlayer3.Skin.sound曲決定音.t再生する();
                                        }
                                        else
                                        {
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }

                                        this.t曲を選択する();
                                        break;

                                    case C曲リストノード.Eノード種別.BOX:
                                    {
                                        TJAPlayer3.Skin.sound決定音.t再生する();
                                        bool bNeedChangeSkin = this.act曲リスト.tBOXに入る();
                                        if (bNeedChangeSkin)
                                        {
                                            this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更;
                                            base.eフェーズID         = Eフェーズ.選曲_NowLoading画面へのフェードアウト;
                                        }
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.BACKBOX:
                                    {
                                        TJAPlayer3.Skin.sound取消音.t再生する();
                                        bool bNeedChangeSkin = this.act曲リスト.tBOXを出る();
                                        if (bNeedChangeSkin)
                                        {
                                            this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更;
                                            base.eフェーズID         = Eフェーズ.選曲_NowLoading画面へのフェードアウト;
                                        }
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.RANDOM:
                                        if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
                                        {
                                            TJAPlayer3.Skin.sound曲決定音.t再生する();
                                        }
                                        else
                                        {
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }
                                        this.t曲をランダム選択する();
                                        break;
                                        //case C曲リストノード.Eノード種別.DANI:
                                        //    if (CDTXMania.Skin.sound段位移動.b読み込み成功)
                                        //        CDTXMania.Skin.sound段位移動.t再生する();
                                        //    else
                                        //        CDTXMania.Skin.sound段位移動.t再生する();
                                        //    this.X();
                                        //    break;
                                    }
                                }
                            }
                            #endregion
                            #region [ Up ]
                            this.ctキー反復用.Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftArrow), new CCounter.DGキー処理(this.tカーソルを上へ移動する));
                            //this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                            {
                                this.tカーソルを上へ移動する();
                            }
                            #endregion
                            #region [ Down ]
                            this.ctキー反復用.Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightArrow), new CCounter.DGキー処理(this.tカーソルを下へ移動する));
                            //this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                            {
                                this.tカーソルを下へ移動する();
                            }
                            #endregion
                            #region [ Upstairs ]
                            if (((this.act曲リスト.r現在選択中の曲 != null) && (this.act曲リスト.r現在選択中の曲.r親ノード != null)) && (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) || TJAPlayer3.Pad.b押されたGB(Eパッド.Cancel)))
                            {
                                this.actPresound.tサウンド停止();
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.act曲リスト.tBOXを出る();
                                this.t選択曲変更通知();
                            }
                            #endregion
                            #region [ BDx2: 簡易CONFIG ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Space))
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                this.actSortSongs.tActivatePopupMenu(E楽器パート.DRUMS, ref this.act曲リスト);
                            }
                            #endregion
                            #region [ HHx2: 難易度変更 ]
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HH) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HHO))
                            {                                   // [HH]x2 難易度変更
                                CommandHistory.Add(E楽器パート.DRUMS, EパッドFlag.HH);
                                EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                if (CommandHistory.CheckCommand(comChangeDifficulty, E楽器パート.DRUMS))
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 上: 難易度変更(上) ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.UpArrow))
                            {
                                //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH );
                                //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) )
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 下: 難易度変更(下) ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.DownArrow))
                            {
                                //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH );
                                //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) )
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ戻す();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                        }
                    }

                    #region [ [ & ] Sound Group Level ]
                    KeyboardSoundGroupLevelControlHandler.Handle(
                        TJAPlayer3.Input管理.Keyboard, TJAPlayer3.SoundGroupLevelController, TJAPlayer3.Skin, true);
                    #endregion

                    #region [ Ctrl-1 through Ctrl-5 Song Rating ]
                    SongRatingControlHandler.Handle(
                        TJAPlayer3.Input管理.Keyboard, act曲リスト, TJAPlayer3.EnumSongs);
                    #endregion

                    this.actSortSongs.t進行描画();
                    this.actQuickConfig.t進行描画();
                }
                //------------------------------
                //if (this.act難易度選択画面.bIsDifficltSelect)
                //{

                //    if (this.ctDiffSelect移動待ち.n現在の値 == this.ctDiffSelect移動待ち.n終了値)
                //    {
                //        this.act難易度選択画面.On進行描画();
                //        CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.赤, "NowStage:DifficltSelect");
                //    }
                //    CDTXMania.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "Count:" + this.ctDiffSelect移動待ち.n現在の値);
                //}
                //------------------------------
                switch (base.eフェーズID)
                {
                case CStage.Eフェーズ.共通_フェードイン:
                    if (this.actFIFO.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.共通_フェードアウト:
                    if (this.actFIFO.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);

                case CStage.Eフェーズ.選曲_結果画面からのフェードイン:
                    if (this.actFIfrom結果画面.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト:
                    if (this.actFOtoNowLoading.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);
                }
            }
            return(0);
        }
Beispiel #5
0
        public override int On進行描画()
        {
            if (!base.b活性化してない)
            {
                #region [ 初めての進行描画 ]
                //---------------------
                if (base.b初めての進行描画)
                {
                    this.ct登場時アニメ用共通 = new CCounter(0, 100, 3, CDTXMania.Timer);
                    if (CDTXMania.r直前のステージ == CDTXMania.stage結果)
                    {
                        this.actFIfrom結果画面.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.選曲_結果画面からのフェードイン;
                    }
                    else
                    {
                        this.actFIFO.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;
                    }
                    this.t選択曲変更通知();
                    base.b初めての進行描画 = false;
                }
                //---------------------
                #endregion

                this.ct登場時アニメ用共通.t進行();

                if (this.tx背景 != null)
                {
                    this.tx背景.t2D描画(CDTXMania.app.Device, 0, 0);
                }

                if (this.r現在選択中の曲 != null)
                {
                    if (CDTXMania.stage選曲.actSortSongs.e現在のソート != CActSortSongs.EOrder.Title)
                    {
                        if (this.txジャンル別背景[this.nStrジャンルtoNum(this.r現在選択中の曲.strジャンル)] != null)
                        {
                            this.txジャンル別背景[this.nStrジャンルtoNum(this.r現在選択中の曲.strジャンル)].t2D描画(CDTXMania.app.Device, 0, 0);
                        }
                    }
                    else
                    {
                        if (this.tx難易度別背景[this.n現在選択中の曲の難易度] != null)
                        {
                            this.tx難易度別背景[this.n現在選択中の曲の難易度].t2D描画(CDTXMania.app.Device, 0, 0);
                        }
                    }
                }


                //this.actPreimageパネル.On進行描画();
                //	this.bIsEnumeratingSongs = !this.actPreimageパネル.bIsPlayingPremovie;				// #27060 2011.3.2 yyagi: #PREMOVIE再生中は曲検索を中断する

                this.act曲リスト.On進行描画();
                int y = 0;
                if (this.ct登場時アニメ用共通.b進行中)
                {
                    double db登場割合  = ((double)this.ct登場時アニメ用共通.n現在の値) / 100.0;                          // 100が最終値
                    double dbY表示割合 = Math.Sin(Math.PI / 2 * db登場割合);
                    y = ((int)(this.tx上部パネル.sz画像サイズ.Height * dbY表示割合)) - this.tx上部パネル.sz画像サイズ.Height;
                }
                if (this.tx上部パネル != null)
                {
                    this.tx上部パネル.t2D描画(CDTXMania.app.Device, 0, 0);
                }

                this.actInformation.On進行描画();
                if (this.tx下部パネル != null)
                {
                    this.tx下部パネル.t2D描画(CDTXMania.app.Device, 0, 720 - this.tx下部パネル.sz画像サイズ.Height);
                }

                #region [ 下部テキスト ]
                if (this.tx下部テキスト != null)
                {
                    if (CDTXMania.ConfigIni.b太鼓パートAutoPlay)
                    {
                        this.tx下部テキスト.t2D描画(CDTXMania.app.Device, 250 - (184 / 2), 660, new Rectangle(0, 0, 184, 60));
                    }
                    if (CDTXMania.ConfigIni.b太鼓パートAutoPlay2P)
                    {
                        this.tx下部テキスト.t2D描画(CDTXMania.app.Device, 1030 - (184 / 2), 660, new Rectangle(0, 0, 184, 60));
                    }
                    if (CDTXMania.ConfigIni.eGameMode == EGame.完走叩ききりまショー)
                    {
                        CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL");
                    }
                    if (CDTXMania.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛)
                    {
                        CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL HARD");
                    }
                    if (CDTXMania.ConfigIni.bSuperHard)
                    {
                        CDTXMania.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "SUPER HARD MODE : ON");
                    }
                    if (CDTXMania.ConfigIni.eScrollMode == EScrollMode.BMSCROLL)
                    {
                        CDTXMania.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "BMSCROLL : ON");
                    }
                    else if (CDTXMania.ConfigIni.eScrollMode == EScrollMode.HSSCROLL)
                    {
                        CDTXMania.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "HSSCROLL : ON");
                    }
                }
                #endregion

                //this.actステータスパネル.On進行描画();

                this.actPresound.On進行描画();
                //if( this.txコメントバー != null )
                {
                    //this.txコメントバー.t2D描画( CDTXMania.app.Device, 484, 314 );
                }
                //this.actArtistComment.On進行描画();
                this.act演奏履歴パネル.On進行描画();
                //this.actオプションパネル.On進行描画();
                this.actShowCurrentPosition.On進行描画();                                                                           // #27648 2011.3.28 yyagi

                //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, this.n現在選択中の曲の難易度.ToString() );
                this.tx難易度名.t2D描画(CDTXMania.app.Device, 980, 30, new Rectangle(0, 70 * this.n現在選択中の曲の難易度, 260, 70));

                if (!this.bBGM再生済み && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態))
                {
                    CDTXMania.Skin.bgm選曲画面.n音量_次に鳴るサウンド = 100;
                    CDTXMania.Skin.bgm選曲画面.t再生する();
                    this.bBGM再生済み = true;
                }


//Debug.WriteLine( "パンくず=" + this.r現在選択中の曲.strBreadcrumbs );
                if (this.ctDiffSelect移動待ち != null)
                {
                    this.ctDiffSelect移動待ち.t進行();
                }

                // キー入力
                if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態 &&
                    CDTXMania.act現在入力を占有中のプラグイン == null)
                {
                    #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ]
                    if (actQuickConfig.bGotoDetailConfig)
                    {                           // 詳細CONFIG呼び出し
                        actQuickConfig.tDeativatePopupMenu();
                        this.actPresound.tサウンド停止();
                        this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し;                          // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                        this.actFIFO.tフェードアウト開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                        CDTXMania.Skin.sound取消音.t再生する();
                        return(0);
                    }
                    #endregion
                    if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect)
                    {
                        #region [ ESC ]
                        if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) && ((this.act曲リスト.r現在選択中の曲 != null) && (this.act曲リスト.r現在選択中の曲.r親ノード == null)))
                        {                               // [ESC]
                            CDTXMania.Skin.sound取消音.t再生する();
                            this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る;
                            this.actFIFO.tフェードアウト開始();
                            base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                            return(0);
                        }
                        #endregion
                        #region [ Shift-F1: CONFIG画面 ]
                        if ((CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift)) &&
                            CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1))
                        {                                          // [SHIFT] + [F1] CONFIG
                            this.actPresound.tサウンド停止();
                            this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                            this.actFIFO.tフェードアウト開始();
                            base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                            CDTXMania.Skin.sound取消音.t再生する();
                            return(0);
                        }
                        #endregion
                        #region [ F2 簡易オプション ]
                        if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2))
                        {
                            CDTXMania.Skin.sound変更音.t再生する();
                            this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS);
                        }
                        #endregion
                        #region [ F3 オートON/OFF ]
                        if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F3))
                        {                               // [ESC]
                            CDTXMania.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref CDTXMania.ConfigIni.b太鼓パートAutoPlay);
                        }
                        #endregion
                        #region [ F5 スーパーハード ]
                        if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5))
                        {
                            CDTXMania.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref CDTXMania.ConfigIni.bSuperHard);
                        }
                        #endregion
                        #region [ F6 SCROLL ]
                        if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6))
                        {
                            CDTXMania.Skin.sound変更音.t再生する();
                            CDTXMania.ConfigIni.bスクロールモードを上書き = true;
                            switch ((int)CDTXMania.ConfigIni.eScrollMode)
                            {
                            case 0:
                                CDTXMania.ConfigIni.eScrollMode = EScrollMode.BMSCROLL;
                                break;

                            case 1:
                                CDTXMania.ConfigIni.eScrollMode = EScrollMode.HSSCROLL;
                                break;

                            case 2:
                                CDTXMania.ConfigIni.eScrollMode   = EScrollMode.Normal;
                                CDTXMania.ConfigIni.bスクロールモードを上書き = false;
                                break;
                            }
                        }
                        #endregion
                        #region [ F7 ]
                        if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F7))
                        {
                            CDTXMania.Skin.sound変更音.t再生する();
                            CDTXMania.Skin.sound曲読込開始音.t再生する();
                            if (!this.act難易度選択画面.bIsDifficltSelect)
                            {
                                this.ctDiffSelect移動待ち = new CCounter(0, 4000, 1, CDTXMania.Timer);
                            }
                            this.act難易度選択画面.t選択画面初期化();
                            C共通.bToggleBoolian(ref this.act難易度選択画面.bIsDifficltSelect);
                        }
                        #endregion

                        if (this.act曲リスト.r現在選択中の曲 != null)
                        {
                            #region [ Decide ]
                            if ((CDTXMania.Pad.b押されたDGB(Eパッド.Decide) || (CDTXMania.Pad.b押されたDGB(Eパッド.LRed) || CDTXMania.Pad.b押されたDGB(Eパッド.RRed)) ||
                                 ((CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return)))))
                            {
                                if (this.act曲リスト.r現在選択中の曲 != null)
                                {
                                    switch (this.act曲リスト.r現在選択中の曲.eノード種別)
                                    {
                                    case C曲リストノード.Eノード種別.SCORE:
                                        if (CDTXMania.Skin.sound曲決定音.b読み込み成功)
                                        {
                                            CDTXMania.Skin.sound曲決定音.t再生する();
                                        }
                                        else
                                        {
                                            CDTXMania.Skin.sound決定音.t再生する();
                                        }
                                        this.t曲を選択する();
                                        break;

                                    case C曲リストノード.Eノード種別.BOX:
                                    {
                                        CDTXMania.Skin.sound決定音.t再生する();
                                        bool bNeedChangeSkin = this.act曲リスト.tBOXに入る();
                                        if (bNeedChangeSkin)
                                        {
                                            this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更;
                                            base.eフェーズID         = Eフェーズ.選曲_NowLoading画面へのフェードアウト;
                                        }
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.BACKBOX:
                                    {
                                        CDTXMania.Skin.sound決定音.t再生する();
                                        bool bNeedChangeSkin = this.act曲リスト.tBOXを出る();
                                        if (bNeedChangeSkin)
                                        {
                                            this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更;
                                            base.eフェーズID         = Eフェーズ.選曲_NowLoading画面へのフェードアウト;
                                        }
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.RANDOM:
                                        if (CDTXMania.Skin.sound曲決定音.b読み込み成功)
                                        {
                                            CDTXMania.Skin.sound曲決定音.t再生する();
                                        }
                                        else
                                        {
                                            CDTXMania.Skin.sound決定音.t再生する();
                                        }
                                        this.t曲をランダム選択する();
                                        break;
                                    }
                                }
                            }
                            #endregion
                            #region [ Up ]
                            this.ctキー反復用.Up.tキー反復(CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftArrow), new CCounter.DGキー処理(this.tカーソルを上へ移動する));
                            //this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
                            if (CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                            {
                                this.tカーソルを上へ移動する();
                            }
                            #endregion
                            #region [ Down ]
                            this.ctキー反復用.Down.tキー反復(CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightArrow), new CCounter.DGキー処理(this.tカーソルを下へ移動する));
                            //this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
                            if (CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                            {
                                this.tカーソルを下へ移動する();
                            }
                            #endregion
                            #region [ Upstairs ]
                            if (((this.act曲リスト.r現在選択中の曲 != null) && (this.act曲リスト.r現在選択中の曲.r親ノード != null)) && (CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) || CDTXMania.Pad.b押されたGB(Eパッド.Cancel)))
                            {
                                this.actPresound.tサウンド停止();
                                CDTXMania.Skin.sound取消音.t再生する();
                                this.act曲リスト.tBOXを出る();
                                this.t選択曲変更通知();
                            }
                            #endregion
                            #region [ BDx2: 簡易CONFIG ]
                            if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Space))
                            {
                                CDTXMania.Skin.sound変更音.t再生する();
                                this.actSortSongs.tActivatePopupMenu(E楽器パート.DRUMS, ref this.act曲リスト);
                            }
                            #endregion
                            #region [ HHx2: 難易度変更 ]
                            if (CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.HH) || CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.HHO))
                            {                                   // [HH]x2 難易度変更
                                CommandHistory.Add(E楽器パート.DRUMS, EパッドFlag.HH);
                                EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                if (CommandHistory.CheckCommand(comChangeDifficulty, E楽器パート.DRUMS))
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    CDTXMania.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 上: 難易度変更(上) ]
                            if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.UpArrow))
                            {
                                //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH );
                                //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) )
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    CDTXMania.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 下: 難易度変更(下) ]
                            if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.DownArrow))
                            {
                                //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH );
                                //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) )
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ戻す();
                                    CDTXMania.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                        }
                    }
                    this.actSortSongs.t進行描画();
                    this.actQuickConfig.t進行描画();
                }
                //------------------------------
                if (this.act難易度選択画面.bIsDifficltSelect)
                {
                    if (this.ctDiffSelect移動待ち.n現在の値 == this.ctDiffSelect移動待ち.n終了値)
                    {
                        this.act難易度選択画面.On進行描画();
                        CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.赤, "NowStage:DifficltSelect");
                    }
                    CDTXMania.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "Count:" + this.ctDiffSelect移動待ち.n現在の値);
                }
                //------------------------------
                switch (base.eフェーズID)
                {
                case CStage.Eフェーズ.共通_フェードイン:
                    if (this.actFIFO.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.共通_フェードアウト:
                    if (this.actFIFO.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);

                case CStage.Eフェーズ.選曲_結果画面からのフェードイン:
                    if (this.actFIfrom結果画面.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト:
                    if (this.actFOtoNowLoading.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);
                }
            }
            return(0);
        }
        public override int On進行描画()
        {
            if (!base.b活性化してない)
            {
                this.ct背景スクロール用タイマー.t進行Loop();
                #region [ 初めての進行描画 ]
                //---------------------
                if (base.b初めての進行描画)
                {
                    this.ct登場時アニメ用共通 = new CCounter(0, 100, 3, TJAPlayer3.Timer);
                    if (TJAPlayer3.r直前のステージ == TJAPlayer3.stage結果)
                    {
                        this.actFIfrom結果画面.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.選曲_結果画面からのフェードイン;
                    }
                    else
                    {
                        this.actFIFO.tフェードイン開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;
                    }
                    this.t選択曲変更通知();
                    base.b初めての進行描画 = false;
                }
                //---------------------
                #endregion

                ctDonchanNormal.t進行Loop();

                this.ct登場時アニメ用共通.t進行();

                if (TJAPlayer3.Tx.SongSelect_Background != null)
                {
                    TJAPlayer3.Tx.SongSelect_Background.t2D描画(TJAPlayer3.app.Device, 0, 0);
                }

                if (this.r現在選択中の曲 != null)
                {
                    if (this.nStrジャンルtoNum(this.r現在選択中の曲.strジャンル) != 0 || r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.BOX || r現在選択中の曲.eノード種別 == C曲リストノード.Eノード種別.SCORE)
                    {
                        nGenreBack = this.nStrジャンルtoNum(this.r現在選択中の曲.strジャンル);
                    }
                    if (TJAPlayer3.Tx.SongSelect_GenreBack[nGenreBack] != null)
                    {
                        for (int i = 0; i < (1280 / TJAPlayer3.Tx.SongSelect_Background.szテクスチャサイズ.Width) + 2; i++)
                        {
                            if (TJAPlayer3.Tx.SongSelect_GenreBack[nGenreBack] != null)
                            {
                                TJAPlayer3.Tx.SongSelect_GenreBack[nGenreBack].t2D描画(TJAPlayer3.app.Device, -ct背景スクロール用タイマー.n現在の値 + TJAPlayer3.Tx.SongSelect_Background.szテクスチャサイズ.Width * i, 0);
                            }
                        }
                    }
                }

                this.act曲リスト.On進行描画();
                int y = 0;

                this.actInformation.On進行描画();

                #region [ 下部テキスト ]
                if (TJAPlayer3.Tx.SongSelect_Auto != null)
                {
                    if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
                    {
                        TJAPlayer3.Tx.SongSelect_Auto.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[0], TJAPlayer3.Skin.SongSelect_Auto_Y[0]);
                    }
                    if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P)
                    {
                        TJAPlayer3.Tx.SongSelect_Auto.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[1], TJAPlayer3.Skin.SongSelect_Auto_Y[1]);
                    }
                }
                if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL");
                }
                if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL HARD");
                }
                if (TJAPlayer3.ConfigIni.bSuperHard)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "SUPER HARD MODE : ON");
                }
                if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.BMSCROLL)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "BMSCROLL : ON");
                }
                else if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.HBSCROLL)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "HBSCROLL : ON");
                }
                #endregion

                this.actPresound.On進行描画();

                this.act演奏履歴パネル.On進行描画();

                this.actShowCurrentPosition.On進行描画();                                                                           // #27648 2011.3.28 yyagi

                if (!this.bBGM再生済み && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態) && !TJAPlayer3.Skin.bgm選曲画面In.b再生中)
                {
                    TJAPlayer3.Skin.bgm選曲画面.t再生する();
                    this.bBGM再生済み = true;
                }

                if (this.ctDiffSelect移動待ち != null)
                {
                    this.ctDiffSelect移動待ち.t進行();
                }

                if (act曲リスト.ctBoxOpen != null)
                {
                    if (this.act曲リスト.ctBoxOpen.n現在の値 == 1000)
                    {
                        act曲リスト.ctBoxOpen.t停止();
                        act曲リスト.ctBoxOpen.n現在の値 = 0;
                        act曲リスト.ctBoxClose.t開始(0, 130, 4, TJAPlayer3.Timer);
                        if (this.act曲リスト.bBoxOpen)
                        {
                            this.act曲リスト.tBOXに入る();
                            this.act曲リスト.bBoxOpen = false;
                        }
                        if (this.act曲リスト.bBoxClose)
                        {
                            this.act曲リスト.tBOXを出る();
                            this.act曲リスト.bBoxClose = false;
                        }
                    }
                }

                if (act曲リスト.ctBoxClose != null)
                {
                    if (this.act曲リスト.ctBoxClose.n現在の値 == 130)
                    {
                        this.act曲リスト.bBoxOpenAnime = false;
                        act曲リスト.ctBoxClose.t停止();
                        act曲リスト.ctBoxClose.n現在の値 = 0;
                    }
                }
                // キー入力
                if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態 &&
                    TJAPlayer3.act現在入力を占有中のプラグイン == null)
                {
                    #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ]
                    if (actQuickConfig.bGotoDetailConfig)
                    {                           // 詳細CONFIG呼び出し
                        actQuickConfig.tDeativatePopupMenu();
                        this.actPresound.tサウンドの停止MT();
                        this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し;                          // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                        this.actFIFO.tフェードアウト開始();
                        base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        return(0);
                    }
                    #endregion
                    if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect && !this.act曲リスト.ctBoxOpen.b進行中 && !this.act曲リスト.ctBoxClose.b進行中)
                    {
                        #region [ ESC ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) && (this.act曲リスト.r現在選択中の曲 != null))// && (  ) ) )
                        {
                            if (this.act曲リスト.r現在選択中の曲.r親ノード == null)
                            {   // [ESC]
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る;
                                this.actFIFO.tフェードアウト開始();
                                base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                                return(0);
                            }
                            else
                            {
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                bool bNeedChangeSkin = this.act曲リスト.tBOXを出る();
                                this.actPresound.tサウンドの停止MT();
                            }
                        }
                        #endregion
                        #region [ Shift-F1: CONFIG画面 ]
                        if ((TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift)) &&
                            TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1))
                        {                                          // [SHIFT] + [F1] CONFIG
                            this.actPresound.tサウンドの停止MT();
                            this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し
                            this.actFIFO.tフェードアウト開始();
                            base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
                            TJAPlayer3.Skin.sound取消音.t再生する();
                            return(0);
                        }
                        #endregion
                        #region [ F2 簡易オプション ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS);
                        }
                        #endregion
                        #region [ F3 1PオートON/OFF ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F3))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay);
                        }
                        #endregion
                        #region [ F4 2PオートON/OFF ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F4))
                        {
                            if (TJAPlayer3.ConfigIni.nPlayerCount > 1)
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P);
                            }
                        }
                        #endregion
                        #region [ F5 スーパーハード ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bSuperHard);
                        }
                        #endregion
                        #region [ F6 SCROLL ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            TJAPlayer3.ConfigIni.bスクロールモードを上書き = true;
                            switch ((int)TJAPlayer3.ConfigIni.eScrollMode)
                            {
                            case 0:
                                TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.BMSCROLL;
                                break;

                            case 1:
                                TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.HBSCROLL;
                                break;

                            case 2:
                                TJAPlayer3.ConfigIni.eScrollMode   = EScrollMode.Normal;
                                TJAPlayer3.ConfigIni.bスクロールモードを上書き = false;
                                break;
                            }
                        }
                        #endregion

                        if (this.act曲リスト.r現在選択中の曲 != null)
                        {
                            #region [ Decide ]
                            if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) || (TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed) || TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed)) ||
                                 ((TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return)))))
                            {
                                if (this.act曲リスト.r現在選択中の曲 != null)
                                {
                                    switch (this.act曲リスト.r現在選択中の曲.eノード種別)
                                    {
                                    case C曲リストノード.Eノード種別.SCORE:
                                        if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
                                        {
                                            TJAPlayer3.Skin.sound曲決定音.t再生する();
                                        }
                                        else
                                        {
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }
                                        //if (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Dan && TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Tower)
                                        //{
                                        //	ctDiffSelect移動待ち.t開始(0, 1490, 1, TJAPlayer3.Timer);
                                        //	act難易度選択画面.bIsDifficltSelect = true;
                                        //}
                                        //else
                                        {
                                            this.t曲を選択する();
                                        }
                                        break;

                                    case C曲リストノード.Eノード種別.BOX:
                                    {
                                        this.act曲リスト.bBoxOpenAnime = true;
                                        this.act曲リスト.bBoxOpen      = true;
                                        this.act曲リスト.bBoxClose     = false;
                                        TJAPlayer3.Skin.sound決定音.t再生する();
                                        this.act曲リスト.ctBoxOpen.t開始(0, 1000, 1, TJAPlayer3.Timer);
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.BACKBOX:
                                    {
                                        this.act曲リスト.bBoxOpenAnime = true;
                                        this.act曲リスト.bBoxClose     = true;
                                        this.act曲リスト.bBoxOpen      = false;
                                        TJAPlayer3.Skin.sound取消音.t再生する();
                                        this.act曲リスト.ctBoxOpen.t開始(0, 1000, 1, TJAPlayer3.Timer);
                                    }
                                    break;

                                    case C曲リストノード.Eノード種別.RANDOM:
                                        if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
                                        {
                                            TJAPlayer3.Skin.sound曲決定音.t再生する();
                                        }
                                        else
                                        {
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }
                                        this.t曲をランダム選択する();
                                        break;
                                        //case C曲リストノード.Eノード種別.DANI:
                                        //    if (CDTXMania.Skin.sound段位移動.b読み込み成功)
                                        //        CDTXMania.Skin.sound段位移動.t再生する();
                                        //    else
                                        //        CDTXMania.Skin.sound段位移動.t再生する();
                                        //    this.X();
                                        //    break;
                                    }
                                }
                            }
                            #endregion
                            #region [ Up ]
                            this.ctキー反復用.Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftArrow), new CCounter.DGキー処理(this.tカーソルを上へ移動する));
                            //this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                            {
                                this.tカーソルを上へ移動する();
                            }
                            #endregion
                            #region [ Down ]
                            this.ctキー反復用.Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightArrow), new CCounter.DGキー処理(this.tカーソルを下へ移動する));
                            //this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                            {
                                this.tカーソルを下へ移動する();
                            }
                            #endregion
                            #region [ Upstairs ]
                            if (((this.act曲リスト.r現在選択中の曲 != null) && (this.act曲リスト.r現在選択中の曲.r親ノード != null)) && (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) || TJAPlayer3.Pad.b押されたGB(Eパッド.Cancel)))
                            {
                                this.actPresound.tサウンドの停止MT();
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.act曲リスト.tBOXを出る();
                                this.t選択曲変更通知();
                            }
                            #endregion
                            #region [ BDx2: 簡易CONFIG ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Space))
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                this.actSortSongs.tActivatePopupMenu(E楽器パート.DRUMS, ref this.act曲リスト);
                            }
                            #endregion
                            #region [ HHx2: 難易度変更 ]
                            if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HH) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HHO))
                            {                                   // [HH]x2 難易度変更
                                CommandHistory.Add(E楽器パート.DRUMS, EパッドFlag.HH);
                                EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                if (CommandHistory.CheckCommand(comChangeDifficulty, E楽器パート.DRUMS))
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 上: 難易度変更(上) ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.UpArrow))
                            {
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ進める();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                            #region [ 下: 難易度変更(下) ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.DownArrow))
                            {
                                //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH );
                                //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH };
                                //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) )
                                {
                                    Debug.WriteLine("ドラムス難易度変更");
                                    this.act曲リスト.t難易度レベルをひとつ戻す();
                                    TJAPlayer3.Skin.sound変更音.t再生する();
                                }
                            }
                            #endregion
                        }
                    }

                    #region [ Minus & Equals Sound Group Level ]
                    KeyboardSoundGroupLevelControlHandler.Handle(
                        TJAPlayer3.Input管理.Keyboard, TJAPlayer3.SoundGroupLevelController, TJAPlayer3.Skin, true);
                    #endregion

                    this.actSortSongs.t進行描画();
                    this.actQuickConfig.t進行描画();

                    if (this.act難易度選択画面.bIsDifficltSelect)
                    {
                        if (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Dan && TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Tower)
                        {
                            if (this.ctDiffSelect移動待ち.n現在の値 >= 1235)
                            {
                                this.act難易度選択画面.On進行描画();
                            }
                        }
                    }
                }

                TJAPlayer3.Tx.SongSelect_Donchan_Normal[ctDonchanNormal.n現在の値].t2D描画(TJAPlayer3.app.Device, 0, 330);

                #region ネームプレート
                for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
                {
                    if (TJAPlayer3.Tx.NamePlate[i] != null)
                    {
                        TJAPlayer3.Tx.NamePlate[i].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_NamePlate_X[i], TJAPlayer3.Skin.SongSelect_NamePlate_Y[i]);
                    }
                }
                #endregion

                TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.灰, this.ctDiffSelect移動待ち.n現在の値.ToString());

                switch (base.eフェーズID)
                {
                case CStage.Eフェーズ.共通_フェードイン:
                    if (this.actFIFO.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.共通_フェードアウト:
                    if (this.actFIFO.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);

                case CStage.Eフェーズ.選曲_結果画面からのフェードイン:
                    if (this.actFIfrom結果画面.On進行描画() != 0)
                    {
                        base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
                    }
                    break;

                case CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト:
                    if (this.actFOtoNowLoading.On進行描画() == 0)
                    {
                        break;
                    }
                    return((int)this.eフェードアウト完了時の戻り値);
                }
            }
            return(0);
        }