示例#1
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)
                {
                    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.actPreimageパネル.On進行描画();
                //	this.bIsEnumeratingSongs = !this.actPreimageパネル.bIsPlayingPremovie;				// #27060 2011.3.2 yyagi: #PREMOVIE再生中は曲検索を中断する

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

                #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

                #region [ 下部テキスト ]
                if (TJAPlayer3.Tx.SongSelect_Auto != null)
                {
                    if (TJAPlayer3.ConfigIni.bAutoPlay[0])
                    {
                        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.bAutoPlay[1])
                    {
                        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進行描画();
                //if( this.txコメントバー != null )
                {
                    //this.txコメントバー.t2D描画( CDTXMania.app.Device, 484, 314 );
                }
                //this.actArtistComment.On進行描画();
                this.act演奏履歴パネル.On進行描画();
                this.actShowCurrentPosition.On進行描画();                                               // #27648 2011.3.28 yyagi

                if (act曲リスト.bコース選択中[1])
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty.t2D描画(TJAPlayer3.app.Device, 980, 30, new Rectangle(0, 70 * this.n現在選択中の曲の難易度[1], 260, 70));
                }
                else if (act曲リスト.bコース選択中[0])
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty.t2D描画(TJAPlayer3.app.Device, 980, 30, new Rectangle(0, 70 * this.n現在選択中の曲の難易度[0], 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フェーズ.共通_通常状態 &&
                    TJAPlayer3.act現在入力を占有中のプラグイン == null)
                {
                    #region [ 簡易CONFIGでMore、または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 */)
                    {
                        #region [ ESC BACK ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) && (this.act曲リスト.r現在選択中の曲 != null))
                        {
                            if (this.act曲リスト.bコース選択中[0] || this.act曲リスト.bコース選択中[1])
                            {
                                TJAPlayer3.Skin.sound取消音?.t再生する();
                                this.act曲リスト.bコース選択中[0] = false;
                                this.act曲リスト.bコース選択中[1] = false;
                            }
                            else 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 [ F1  CONFIG画面         ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1))
                        {
                            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  1P簡易オプション   ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS, 0);
                        }
                        #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.bAutoPlay[0]);
                        }
                        #endregion
                        #region [ F4 EMPTY ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F4))
                        {
                        }
                        #endregion

                        #region [ F5  EMPTY              ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5))
                        {
                        }
                        #endregion
                        #region [ F6  2P簡易オプション   ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS, 1);
                        }
                        #endregion
                        #region [ F7  2PオートON/OFF     ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F7))

                        {
                            if (TJAPlayer3.ConfigIni.nPlayerCount > 1)
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bAutoPlay[1]);
                            }
                        }
                        #endregion
                        #region [ F8  EMPTY              ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F8))
                        {
                        }
                        #endregion

                        #region [ F9  スーパーハード     ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F9))
                        {
                            TJAPlayer3.Skin.sound変更音.t再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bSuperHard);
                        }
                        #endregion
                        #region [ F10 SCROLL             ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F10))
                        {
                            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 [ F11 EMPTY              ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F11))
                        {
                        }
                        #endregion
                        #region [ F12 EMPTY *割当非推進* ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F12))
                        {
                            //デフォルトのスクリーンショット割当キーとかぶるため、使用しないことを推進。
                        }
                        #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 (!act曲リスト.bコース選択中[0] && act曲リスト.n現在選択中の曲のコース数 > 1)
                                        {
                                            act曲リスト.bコース選択中[0] = true;
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }
                                        else if (!act曲リスト.bコース選択中[1] && TJAPlayer3.ConfigIni.nPlayerCount == 2 && act曲リスト.n現在選択中の曲のコース数 > 1 && n現在選択中の曲の難易度[0] < 5)
                                        {
                                            act曲リスト.bコース選択中[1] = true;
                                            TJAPlayer3.Skin.sound決定音.t再生する();
                                        }
                                        else
                                        {
                                            //Cource:Towew,Dan選択時は、1Pプレイのみとする
                                            if (n現在選択中の曲の難易度[0] >= 5)
                                            {
                                                TJAPlayer3.ConfigIni.nPlayerCount = 1;
                                            }
                                            act曲リスト.bコース選択中[0] = false;
                                            act曲リスト.bコース選択中[1] = false;
                                            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 [ 曲移動(左) ]
                            if (!act曲リスト.bコース選択中[0] && !act曲リスト.bコース選択中[1])
                            {
                                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 [ 曲移動(右) ]
                            if (!act曲リスト.bコース選択中[0] && !act曲リスト.bコース選択中[1])
                            {
                                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 [ SPACE: 曲ソート ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Space))
                            {
                                TJAPlayer3.Skin.sound変更音.t再生する();
                                this.actSortSongs.tActivatePopupMenu(E楽器パート.DRUMS, ref this.act曲リスト);
                            }
                            #endregion
                            #region [ 難易度変更(上) ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.RightArrow) ||
                                TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                            {
                                if (act曲リスト.bコース選択中[1])
                                {
                                    this.act曲リスト.t難易度レベルをひとつ進める(1);
                                    TJAPlayer3.Skin.sound変更音?.t再生する();
                                }
                                else if (act曲リスト.bコース選択中[0])
                                {
                                    this.act曲リスト.t難易度レベルをひとつ進める(0);
                                    TJAPlayer3.Skin.sound変更音?.t再生する();
                                }
                            }
                            #endregion
                            #region [ 難易度変更(下) ]
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.LeftArrow) ||
                                TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                            {
                                if (act曲リスト.bコース選択中[1])
                                {
                                    this.act曲リスト.t難易度レベルをひとつ戻す(1);
                                    TJAPlayer3.Skin.sound変更音?.t再生する();
                                }
                                else if (act曲リスト.bコース選択中[0])
                                {
                                    this.act曲リスト.t難易度レベルをひとつ戻す(0);
                                    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 (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

                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.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)(TJAPlayer3.Tx.SongSelect_Header.sz画像サイズ.Height * dbY表示割合)) - TJAPlayer3.Tx.SongSelect_Header.sz画像サイズ.Height;
                }
                if (TJAPlayer3.Tx.SongSelect_Header != null)
                {
                    TJAPlayer3.Tx.SongSelect_Header.t2D描画(TJAPlayer3.app.Device, 0, 0);
                }

                this.actInformation.On進行描画();
                if (TJAPlayer3.Tx.SongSelect_Footer != null)
                {
                    TJAPlayer3.Tx.SongSelect_Footer.t2D描画(TJAPlayer3.app.Device, 0, 720 - TJAPlayer3.Tx.SongSelect_Footer.sz画像サイズ.Height);
                }


                this.ctどんちゃん連番アニメーション.t進行Loop();
                {
                    if (TJAPlayer3.Tx.Don[this.ctどんちゃん連番アニメーション.n現在の値] != null)
                    {
                        TJAPlayer3.Tx.Don[this.ctどんちゃん連番アニメーション.n現在の値].t2D描画(TJAPlayer3.app.Device, 50, 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

                #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.eGameMode == EGame.特訓モード)
                {
                    TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: TRAINING MODE");
                }
                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.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;
                }
                TJAPlayer3.act文字コンソール.tPrint(4, 0, C文字コンソール.Eフォント種別.白, 難易度.ToString());


                if (難易度選択切り替え == true)
                {
                    /*
                     * if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape))
                     * {
                     *      this.act曲リスト.BarCounterX.t停止();
                     *      this.act曲リスト.BarCounterX2.t開始(0, 500, 1, TJAPlayer3.Timer);
                     *      難易度選択切り替え = false;
                     * }
                     */
                    if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                    {
                        難易度--;
                        TJAPlayer3.Skin.sound変更音.t再生する();
                    }
                    if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                    {
                        難易度++;
                        TJAPlayer3.Skin.sound変更音.t再生する();
                    }
                    if (難易度 < -2)
                    {
                        難易度 = -2;
                    }
                    if (難易度 > 5)
                    {
                        難易度 = 5;
                    }

                    if (難易度 >= 0)
                    {
                        this.act曲リスト.n現在のアンカ難易度レベル = 難易度;
                    }
                    if (難易度 == -2)
                    {
                        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))))
                        {
                            this.act曲リスト.BarCounterX.t停止();
                            this.act曲リスト.BarCounterX2.t開始(0, 350, 1, TJAPlayer3.Timer);

                            難易度選択切り替え = false;
                        }
                    }

                    if (難易度 >= 0)
                    {
                        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 (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
                            {
                                TJAPlayer3.Skin.sound曲決定音.t再生する();
                            }
                            else
                            {
                                TJAPlayer3.Skin.sound決定音.t再生する();
                            }
                            難易度選択切り替え = false;
                            this.t曲を選択する();
                        }
                    }
                }

                //Debug.WriteLine( "パンくず=" + this.r現在選択中の曲.strBreadcrumbs );
                if (this.ctDiffSelect移動待ち != null)
                {
                    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 (難易度選択切り替え != true)
                        {
                            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サウンド停止();
                                }
                            }
                        }
                        else
                        {
                            if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape))
                            {
                                this.act曲リスト.BarCounterX.t停止();
                                this.act曲リスト.BarCounterX2.t開始(0, 350, 1, TJAPlayer3.Timer);
                                難易度選択切り替え = false;
                            }
                        }

                        #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 (this.act曲リスト.BarCounterX.n現在の値 == 0 || this.act曲リスト.BarCounterX2.n現在の値 == 350)
                            {
                                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:
                                            //TJAPlayer3.Skin.sound曲決定音.t再生する();
                                            this.act曲リスト.BarCounterX2.t停止();
                                            this.act曲リスト.BarCounterX2.n現在の値 = 0;
                                            this.act曲リスト.BarCounterX.n現在の値  = 0;
                                            this.act曲リスト.BarCounterX.t開始(0, 350, 1, TJAPlayer3.Timer);
                                            難易度選択切り替え = true;

                                            /*
                                             * 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 ]
                            if (難易度選択切り替え == false)
                            {
                                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.act曲リスト.CenterCounter.t停止();
                                    //this.act曲リスト.CenterCounter.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter2.t停止();
                                    this.act曲リスト.CenterCounter2.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter.t開始(0, 25, 10, TJAPlayer3.Timer);

                                    this.act曲リスト.CenterCounter3.t停止();
                                    this.act曲リスト.CenterCounter3.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter3.t開始(0, 60, 5, TJAPlayer3.Timer);

                                    this.tカーソルを上へ移動する();
                                }
                                if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.LeftArrow))
                                {
                                    this.act曲リスト.CenterCounter2.t停止();
                                    this.act曲リスト.CenterCounter2.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter.t開始(0, 25, 10, TJAPlayer3.Timer);

                                    this.act曲リスト.CenterCounter3.t停止();
                                    this.act曲リスト.CenterCounter3.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter3.t開始(0, 60, 5, TJAPlayer3.Timer);
                                }
                            }


                            #endregion
                            #region [ Down ]
                            if (難易度選択切り替え == false)
                            {
                                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.act曲リスト.CenterCounter.t停止();
                                    //this.act曲リスト.CenterCounter.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter2.t停止();
                                    this.act曲リスト.CenterCounter2.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter.t開始(0, 25, 10, TJAPlayer3.Timer);

                                    this.act曲リスト.CenterCounter3.t停止();
                                    this.act曲リスト.CenterCounter3.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter3.t開始(0, 60, 5, TJAPlayer3.Timer);

                                    this.tカーソルを下へ移動する();
                                }
                                if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.RightArrow))
                                {
                                    this.act曲リスト.CenterCounter2.t停止();
                                    this.act曲リスト.CenterCounter2.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter.t開始(0, 25, 10, TJAPlayer3.Timer);

                                    this.act曲リスト.CenterCounter3.t停止();
                                    this.act曲リスト.CenterCounter3.n現在の値 = 0;
                                    this.act曲リスト.CenterCounter3.t開始(0, 60, 5, TJAPlayer3.Timer);
                                }
                            }


                            #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 [ 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 (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);
        }
示例#3
0
        public override int On進行描画()
        {
            if (!base.b活性化してない)
            {
                this.ct背景スクロール用タイマー.t進行Loop();
                #region [ 初めての進行描画 ]
                //---------------------
                if (base.b初めての進行描画)
                {
                    this.act難易度選択画面.n現在の選択行 = 3;
                    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();
                ctDonchanSelect.t進行();
                ctDonchanStart.t進行();

                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;

                #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進行描画();

                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;
                    }
                }
                // キー入力
                if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態 &&
                    TJAPlayer3.act現在入力を占有中のプラグイン == null)
                {
                    #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ]
                    if (actQuickConfig.bGotoDetailConfig)
                    {                           // 詳細CONFIG呼び出し
                        actQuickConfig.tDeativatePopupMenu();
                        this.enterConfigStage();
                    }
                    #endregion
                    if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect && !this.act曲リスト.ctBoxOpen.b進行中 && !act曲リスト.bBoxOpenAnime)
                    {
                        #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再生する();
                                ctDonchanSelect.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
                                this.act曲リスト.bBoxOpenAnime = true;
                                this.act曲リスト.bBoxClose     = true;
                                this.act曲リスト.bBoxOpen      = false;
                                this.act曲リスト.ctBoxOpen.t開始(0, 1000, 1, TJAPlayer3.Timer);
                            }
                        }
                        #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.enterConfigStage();
                        }
                        #endregion
                        #region [ F2 簡易オプション ]
                        if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2))
                        {
                            this.showQuickConfig();
                        }
                        #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再生する();
                            if (TJAPlayer3.EnumSongs.IsEnumerating)
                            {
                                TJAPlayer3.EnumSongs.Abort();
                                TJAPlayer3.actEnumSongs.On非活性化();
                            }
                            TJAPlayer3.EnumSongs.StartEnumFromDisk();
                            TJAPlayer3.EnumSongs.ChangeEnumeratePriority(ThreadPriority.Normal);
                            TJAPlayer3.actEnumSongs.bコマンドでの曲データ取得 = true;
                            TJAPlayer3.actEnumSongs.On活性化();
                        }
                        #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再生する();
                            C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bSuperHard);
                        }
                        #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)
                                {
                                    if (this.act曲リスト.n目標のスクロールカウンタ == 0 && this.act曲リスト.n現在のスクロールカウンタ == 0)
                                    {
                                        switch (this.act曲リスト.r現在選択中の曲.eノード種別)
                                        {
                                        case C曲リストノード.Eノード種別.SCORE:
                                            this.act難易度選択画面.n現在の選択行 = 3;
                                            if (TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Dan && TJAPlayer3.stage選曲.n現在選択中の曲の難易度 != (int)Difficulty.Tower)
                                            {
                                                this.act難易度選択画面.SongTitle    = TJAPlayer3.stage選曲.act曲リスト.ttk曲名テクスチャを生成する(TJAPlayer3.stage選曲.r現在選択中の曲.strタイトル, Color.White, Color.Black);
                                                this.act難易度選択画面.SongSubTitle = TJAPlayer3.stage選曲.act曲リスト.ttkサブタイトルテクスチャを生成する(TJAPlayer3.stage選曲.r現在選択中の曲.strサブタイトル, Color.White, Color.Black);

                                                ctDonchanSelect.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
                                                ctDiffSelect移動待ち.t開始(0, 1190, 1, TJAPlayer3.Timer);
                                                act難易度選択画面.bIsDifficltSelect = true;
                                                TJAPlayer3.Skin.sound決定音.t再生する();
                                            }
                                            else
                                            {
                                                ctDonchanStart.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Start.Length - 1, 1000 / 45, TJAPlayer3.Timer);
                                                this.t曲を選択する();
                                            }
                                            break;

                                        case C曲リストノード.Eノード種別.BOX:
                                        {
                                            ctDonchanSelect.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
                                            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:
                                        {
                                            TJAPlayer3.Skin.sound取消音.t再生する();
                                            ctDonchanSelect.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
                                            this.act曲リスト.bBoxOpenAnime = true;
                                            this.act曲リスト.bBoxClose     = true;
                                            this.act曲リスト.bBoxOpen      = false;
                                            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 [ Skip_Up ]
                            this.ctキー反復用.Skip_Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftControl), new CCounter.DGキー処理(this.tカーソルを上へ移動する_Skip));
                            #endregion
                            #region [ Skip_Down ]
                            this.ctキー反復用.Skip_Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightControl), new CCounter.DGキー処理(this.tカーソルを下へ移動する_Skip));
                            #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)))
                            {
                                TJAPlayer3.Skin.sound取消音.t再生する();
                                this.act曲リスト.bBoxClose = true;
                            }
                            #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 [ 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現在の値 >= 935)
                        {
                            this.act難易度選択画面.On進行描画();
                        }
                    }
                }

                if (!ctDonchanSelect.b進行中 && !ctDonchanStart.b進行中)
                {
                    TJAPlayer3.Tx.SongSelect_Donchan_Normal[ctDonchanNormal.n現在の値].t2D描画(TJAPlayer3.app.Device, 0, 330);
                }
                else
                {
                    if (ctDonchanSelect.b進行中)
                    {
                        if (ctDonchanSelect.n現在の値 >= ctDonchanSelect.n終了値)
                        {
                            ctDonchanSelect.t停止();
                        }
                        TJAPlayer3.Tx.SongSelect_Donchan_Select[ctDonchanSelect.n現在の値].t2D描画(TJAPlayer3.app.Device, 0, 330);
                    }
                    if (ctDonchanStart.b進行中)
                    {
                        TJAPlayer3.Tx.SongSelect_Donchan_Start[ctDonchanStart.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.Tx.SongSelect_Header.t2D描画(TJAPlayer3.app.Device, 0, 0);

                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);
        }
示例#4
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);
        }
示例#5
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);
        }
        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);
        }