/// <summary> /// コマンド入力履歴へのコマンド追加 /// </summary> /// <param name="_eInst">楽器の種類</param> /// <param name="_ePad">入力コマンド(同時押しはOR演算で列挙すること)</param> public void Add(EInstrumentPart _eInst, EPadFlag _ePad) { STCommandTime _stct = new STCommandTime { eInst = _eInst, ePad = _ePad, time = CDTXMania.Timer.nCurrentTime }; if (stct.Count >= buffersize) { stct.RemoveAt(0); } stct.Add(_stct); //Debug.WriteLine( "CMDHIS: 楽器=" + _stct.eInst + ", CMD=" + _stct.ePad + ", time=" + _stct.time ); }
public int tUpdateAndDraw() // t進行描画 { if (!base.bNotActivated && this.bIsActivePopupMenu) { n本体X = 460; //XG選曲画面の中心点はX=646 Y=358 n本体Y = 150; if (this.bキー入力待ち) { #region [ CONFIG画面 ] if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.Help)) { // [SHIFT] + [F1] CONFIG CDTXMania.Skin.soundCancel.tPlay(); tCancel(); this.bGotoDetailConfig = true; } #endregion #region [ キー入力: キャンセル ] else if (CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.Escape) || CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.LC) || CDTXMania.Pad.bPressedGB(EPad.Pick)) { // キャンセル CDTXMania.Skin.soundCancel.tPlay(); tCancel(); this.bIsActivePopupMenu = false; } #endregion #region [ BD二回: キャンセル ] else if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.BD)) { // キャンセル this.CommandHistory.Add(EInstrumentPart.DRUMS, EPadFlag.BD); EPadFlag[] comChangeScrollSpeed = new EPadFlag[] { EPadFlag.BD, EPadFlag.BD }; if (this.CommandHistory.CheckCommand(comChangeScrollSpeed, EInstrumentPart.DRUMS)) { CDTXMania.Skin.soundChange.tPlay(); tBDContinuity(); this.bIsActivePopupMenu = false; } } #endregion #region [ Px2 Guitar: 簡易CONFIG ] if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.P)) { // [BD]x2 スクロール速度変更 CommandHistory.Add(EInstrumentPart.GUITAR, EPadFlag.P); EPadFlag[] comChangeScrollSpeed = new EPadFlag[] { EPadFlag.P, EPadFlag.P }; if (CommandHistory.CheckCommand(comChangeScrollSpeed, EInstrumentPart.GUITAR)) { CDTXMania.Skin.soundChange.tPlay(); tBDContinuity(); this.bIsActivePopupMenu = false; } } #endregion #region [ Px2 Bass: 簡易CONFIG ] if (CDTXMania.Pad.bPressed(EInstrumentPart.BASS, EPad.P)) { // [BD]x2 スクロール速度変更 CommandHistory.Add(EInstrumentPart.BASS, EPadFlag.P); EPadFlag[] comChangeScrollSpeed = new EPadFlag[] { EPadFlag.P, EPadFlag.P }; if (CommandHistory.CheckCommand(comChangeScrollSpeed, EInstrumentPart.BASS)) { CDTXMania.Skin.soundChange.tPlay(); tBDContinuity(); this.bIsActivePopupMenu = false; } } #endregion #region [ キー入力: 決定 ] // EInstrumentPart eInst = EInstrumentPart.UNKNOWN; ESortAction eAction = ESortAction.END; if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.Decide)) { eInst = EInstrumentPart.GUITAR; eAction = ESortAction.Decide; } else if (CDTXMania.Pad.bPressed(EInstrumentPart.BASS, EPad.Decide)) { eInst = EInstrumentPart.BASS; eAction = ESortAction.Decide; } else if ( CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.Decide) || // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu. CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.RD) || (CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.Return))) { eInst = EInstrumentPart.DRUMS; eAction = ESortAction.Decide; } if (eAction == ESortAction.Decide) // 決定 { this.tEnter押下(); } #endregion #region [ キー入力: 前に移動 ] this.ctキー反復用.Up.tRepeatKey(CDTXMania.InputManager.Keyboard.bKeyPressing((int)SlimDXKey.UpArrow), new CCounter.DGキー処理(this.t前に移動)); this.ctキー反復用.R.tRepeatKey(CDTXMania.Pad.b押されているGB(EPad.R), new CCounter.DGキー処理(this.t前に移動)); //Change to HT if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.HT)) { this.t前に移動(); } #endregion #region [ キー入力: 次に移動 ] this.ctキー反復用.Down.tRepeatKey(CDTXMania.InputManager.Keyboard.bKeyPressing((int)SlimDXKey.DownArrow), new CCounter.DGキー処理(this.t次に移動)); this.ctキー反復用.B.tRepeatKey(CDTXMania.Pad.b押されているGB(EPad.G), new CCounter.DGキー処理(this.t次に移動)); //Change to LT if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.LT)) { this.t次に移動(); } #endregion } #region [ ポップアップメニュー 背景描画 ] if (this.txPopupMenuBackground != null) { this.txPopupMenuBackground.tDraw2D(CDTXMania.app.Device, n本体X, n本体Y); } #endregion #region [ ソートメニュータイトル描画 ] int x = n本体X + 96, y = n本体Y + 4; font.t文字列描画(x, y, strMenuTitle, false, 1.0f); #endregion #region [ カーソル描画 ] if (this.txCursor != null) { int height = 32; int curX = n本体X + 12; int curY = n本体Y + 6 + (height * (this.n現在の選択行 + 1)); this.txCursor.tDraw2D(CDTXMania.app.Device, curX, curY, new Rectangle(0, 0, 16, 32)); curX += 0x10; Rectangle rectangle = new Rectangle(8, 0, 0x10, 0x20); for (int j = 0; j < 19; j++) { this.txCursor.tDraw2D(CDTXMania.app.Device, curX, curY, rectangle); curX += 16; } this.txCursor.tDraw2D(CDTXMania.app.Device, curX, curY, new Rectangle(0x10, 0, 16, 32)); } #endregion #region [ ソート候補文字列描画 ] for (int i = 0; i < lciMenuItems.Count; i++) { bool bItemBold = (i == nItemSelecting && !bShowAllItems) ? true : false; font.t文字列描画(n本体X + 18, n本体Y + 40 + i * 32, lciMenuItems[i].strItemName, bItemBold, 1.0f); bool bValueBold = (bItemBold || (i == nItemSelecting && bIsSelectingIntItem)) ? true : false; if (bItemBold || bShowAllItems) { string s; switch (lciMenuItems[i].strItemName) { case "PlaySpeed": { double d = (double)((int)lciMenuItems[i].obj現在値() / 20.0); s = "x" + d.ToString("0.000"); } break; case "ScrollSpeed": { double d = (double)((((int)lciMenuItems[i].obj現在値()) + 1) / 2.0); s = "x" + d.ToString("0.0"); } break; default: s = lciMenuItems[i].obj現在値().ToString(); break; } font.t文字列描画(n本体X + 200, n本体Y + 40 + i * 32, s, bValueBold, 1.0f); } } #endregion t進行描画sub(); } return(0); }
public override int OnUpdateAndDraw() { if (!base.bNotActivated) { #region [ 初めての進行描画 ] //--------------------- if (base.bJustStartedUpdate) { this.ct登場時アニメ用共通 = new CCounter(0, 100, 3, CDTXMania.Timer); if (CDTXMania.rPreviousStage == CDTXMania.stageResult) { this.actFIfrom結果画面.tフェードイン開始(); base.ePhaseID = CStage.EPhase.選曲_結果画面からのフェードイン; } else { this.actFIFO.tフェードイン開始(); base.ePhaseID = CStage.EPhase.Common_FadeIn; } this.tSelectedSongChanged(); base.bJustStartedUpdate = false; } //--------------------- #endregion this.ct登場時アニメ用共通.tUpdate(); if (this.txBackground != null) { this.txBackground.tDraw2D(CDTXMania.app.Device, 0, 0); } this.actPreimagePanel.OnUpdateAndDraw(); // this.bIsEnumeratingSongs = !this.actPreimageパネル.bIsPlayingPremovie; // #27060 2011.3.2 yyagi: #PREMOVIE再生中は曲検索を中断する this.actStatusPanel.OnUpdateAndDraw(); this.actArtistComment.OnUpdateAndDraw(); this.actSongList.OnUpdateAndDraw(); this.actPerHistoryPanel.OnUpdateAndDraw(); int y = 0; if (this.ct登場時アニメ用共通.b進行中) { double db登場割合 = ((double)this.ct登場時アニメ用共通.nCurrentValue) / 100.0; // 100が最終値 double dbY表示割合 = Math.Sin(Math.PI / 2 * db登場割合); y = ((int)(this.txTopPanel.szImageSize.Height * dbY表示割合)) - this.txTopPanel.szImageSize.Height; } if (this.txTopPanel != null) { this.txTopPanel.tDraw2D(CDTXMania.app.Device, 0, y); } this.actInformation.OnUpdateAndDraw(); if (this.txBottomPanel != null) { this.txBottomPanel.tDraw2D(CDTXMania.app.Device, 0, 720 - this.txBottomPanel.szImageSize.Height); } this.actPresound.OnUpdateAndDraw(); // this.actオプションパネル.OnUpdateAndDraw(); this.actShowCurrentPosition.OnUpdateAndDraw(); // #27648 2011.3.28 yyagi switch (base.ePhaseID) { case CStage.EPhase.Common_FadeIn: if (this.actFIFO.OnUpdateAndDraw() != 0) { base.ePhaseID = CStage.EPhase.Common_DefaultState; } break; case CStage.EPhase.Common_FadeOut: if (this.actFIFO.OnUpdateAndDraw() == 0) { break; } return((int)this.eReturnValueWhenFadeOutCompleted); case CStage.EPhase.選曲_結果画面からのフェードイン: if (this.actFIfrom結果画面.OnUpdateAndDraw() != 0) { base.ePhaseID = CStage.EPhase.Common_DefaultState; } break; case CStage.EPhase.選曲_NowLoading画面へのフェードアウト: // if( this.actFOtoNowLoading.OnUpdateAndDraw() == 0 ) // { // break; // } return((int)this.eReturnValueWhenFadeOutCompleted); } if (!this.bBGMPlayed && (base.ePhaseID == CStage.EPhase.Common_DefaultState)) { CDTXMania.Skin.bgm選曲画面.n音量_次に鳴るサウンド = 100; CDTXMania.Skin.bgm選曲画面.tPlay(); this.bBGMPlayed = true; } //Debug.WriteLine( "パンくず=" + this.r現在選択中の曲.strBreadcrumbs ); // キー入力 if (base.ePhaseID == CStage.EPhase.Common_DefaultState && CDTXMania.actPluginOccupyingInput == null) { #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ] if (actQuickConfig.bGotoDetailConfig) { // 詳細CONFIG呼び出し actQuickConfig.tDeativatePopupMenu(); this.actPresound.tサウンド停止(); this.eReturnValueWhenFadeOutCompleted = EReturnValue.CallConfig; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し this.actFIFO.tStartFadeOut(); base.ePhaseID = CStage.EPhase.Common_FadeOut; CDTXMania.Skin.soundCancel.tPlay(); return(0); } #endregion if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !CDTXMania.app.bテキスト入力中) { #region [ ESC ] if (CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.Escape) || ((CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.LC) || CDTXMania.Pad.bPressedGB(EPad.Pick)) && ((this.actSongList.rSelectedSong != null) && (this.actSongList.rSelectedSong.r親ノード == null)))) { // [ESC] CDTXMania.Skin.soundCancel.tPlay(); this.eReturnValueWhenFadeOutCompleted = EReturnValue.ReturnToTitle; this.actFIFO.tStartFadeOut(); base.ePhaseID = CStage.EPhase.Common_FadeOut; return(0); } #endregion #region [ CONFIG画面 ] if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.Help)) { // [SHIFT] + [F1] CONFIG this.actPresound.tサウンド停止(); this.eReturnValueWhenFadeOutCompleted = EReturnValue.CallConfig; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し this.actFIFO.tStartFadeOut(); base.ePhaseID = CStage.EPhase.Common_FadeOut; CDTXMania.Skin.soundCancel.tPlay(); return(0); } #endregion #region [ Shift-F2: 未使用 ] // #24525 2011.3.16 yyagi: [SHIFT]+[F2]は廃止(将来発生するかもしれない別用途のためにキープ) /* * if ((CDTXMania.InputManager.Keyboard.bKeyPressing((int)SlimDXKey.RightShift) || CDTXMania.InputManager.Keyboard.bKeyPressing((int)SlimDXKey.LeftShift)) && * CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.F2)) * { // [SHIFT] + [F2] CONFIGURATION * this.actPresound.tサウンド停止(); * this.eReturnValueAfterFadeOut = EReturnValue.オプション呼び出し; * this.actFIFO.tStartFadeOut(); * base.ePhaseID = CStage.EPhase.Common_FadeOut; * CDTXMania.Skin.soundCancel.tPlay(); * return 0; * } */ #endregion if (this.actSongList.rSelectedSong != null) { #region [ Decide ] if ((CDTXMania.Pad.bPressedDGB(EPad.Decide) || CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.CY) || CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.RD)) || (CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.Return))) { if (this.actSongList.rSelectedSong != null) { switch (this.actSongList.rSelectedSong.eNodeType) { case CSongListNode.ENodeType.SCORE: CDTXMania.Skin.soundDecide.tPlay(); this.tSelectSong(); break; case CSongListNode.ENodeType.SCORE_MIDI: CDTXMania.Skin.soundDecide.tPlay(); this.tSelectSong(); break; case CSongListNode.ENodeType.BOX: { CDTXMania.Skin.soundDecide.tPlay(); bool bNeedChangeSkin = this.actSongList.tGoIntoBOX(); if (bNeedChangeSkin) { this.eReturnValueWhenFadeOutCompleted = EReturnValue.ChangeSking; base.ePhaseID = EPhase.選曲_NowLoading画面へのフェードアウト; } } break; case CSongListNode.ENodeType.BACKBOX: { CDTXMania.Skin.soundCancel.tPlay(); bool bNeedChangeSkin = this.actSongList.tExitBOX(); if (bNeedChangeSkin) { this.eReturnValueWhenFadeOutCompleted = EReturnValue.ChangeSking; base.ePhaseID = EPhase.選曲_NowLoading画面へのフェードアウト; } } break; case CSongListNode.ENodeType.RANDOM: CDTXMania.Skin.soundDecide.tPlay(); this.tSelectSongRandomly(); break; } } } #endregion #region [ Up ] this.ctKeyRepeat.Up.tRepeatKey(CDTXMania.InputManager.Keyboard.bKeyPressing((int)SlimDXKey.UpArrow), new CCounter.DGキー処理(this.tMoveCursorUp)); this.ctKeyRepeat.R.tRepeatKey(CDTXMania.Pad.b押されているGB(EPad.R), new CCounter.DGキー処理(this.tMoveCursorUp)); //SD changed to HT to follow Gitadora style if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.HT)) { this.tMoveCursorUp(); } #endregion #region [ Down ] this.ctKeyRepeat.Down.tRepeatKey(CDTXMania.InputManager.Keyboard.bKeyPressing((int)SlimDXKey.DownArrow), new CCounter.DGキー処理(this.tMoveCursorDown)); this.ctKeyRepeat.B.tRepeatKey(CDTXMania.Pad.b押されているGB(EPad.G), new CCounter.DGキー処理(this.tMoveCursorDown)); //FT changed to LT to follow Gitadora style if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.LT)) { this.tMoveCursorDown(); } #endregion #region [ Upstairs ] if (((this.actSongList.rSelectedSong != null) && (this.actSongList.rSelectedSong.r親ノード != null)) && (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.LC) || CDTXMania.Pad.bPressedGB(EPad.Pick))) { this.actPresound.tサウンド停止(); CDTXMania.Skin.soundCancel.tPlay(); this.actSongList.tExitBOX(); this.tSelectedSongChanged(); } #endregion #region [ BDx2: 簡易CONFIG ] if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.BD)) { // [BD]x2 スクロール速度変更 CommandHistory.Add(EInstrumentPart.DRUMS, EPadFlag.BD); EPadFlag[] comChangeScrollSpeed = new EPadFlag[] { EPadFlag.BD, EPadFlag.BD }; if (CommandHistory.CheckCommand(comChangeScrollSpeed, EInstrumentPart.DRUMS)) { // Debug.WriteLine( "ドラムススクロール速度変更" ); // CDTXMania.ConfigIni.nScrollSpeed.Drums = ( CDTXMania.ConfigIni.nScrollSpeed.Drums + 1 ) % 0x10; CDTXMania.Skin.soundChange.tPlay(); this.actQuickConfig.tActivatePopupMenu(EInstrumentPart.DRUMS); } } #endregion #region [ HHx2: 難易度変更 ] if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.HH) || CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.HHO)) { // [HH]x2 難易度変更 CommandHistory.Add(EInstrumentPart.DRUMS, EPadFlag.HH); EPadFlag[] comChangeDifficulty = new EPadFlag[] { EPadFlag.HH, EPadFlag.HH }; if (CommandHistory.CheckCommand(comChangeDifficulty, EInstrumentPart.DRUMS)) { Debug.WriteLine("ドラムス難易度変更"); this.actSongList.t難易度レベルをひとつ進める(); //CDTXMania.Skin.sound変更音.tPlay(); } } #endregion #region [ Bx2 Guitar: 難易度変更 ] if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.B)) // #24177 2011.1.17 yyagi || -> && { // [B]x2 ギター難易度変更 CommandHistory.Add(EInstrumentPart.GUITAR, EPadFlag.B); EPadFlag[] comChangeDifficultyG = new EPadFlag[] { EPadFlag.B, EPadFlag.B }; if (CommandHistory.CheckCommand(comChangeDifficultyG, EInstrumentPart.GUITAR)) { Debug.WriteLine("ギター難易度変更"); this.actSongList.t難易度レベルをひとつ進める(); //CDTXMania.Skin.sound変更音.tPlay(); } } #endregion #region [ Bx2 Bass: 難易度変更 ] if (CDTXMania.Pad.bPressed(EInstrumentPart.BASS, EPad.B)) // #24177 2011.1.17 yyagi || -> && { // [B]x2 ベース難易度変更 CommandHistory.Add(EInstrumentPart.BASS, EPadFlag.B); EPadFlag[] comChangeDifficultyB = new EPadFlag[] { EPadFlag.B, EPadFlag.B }; if (CommandHistory.CheckCommand(comChangeDifficultyB, EInstrumentPart.BASS)) { Debug.WriteLine("ベース難易度変更"); this.actSongList.t難易度レベルをひとつ進める(); //CDTXMania.Skin.sound変更音.tPlay(); } } #endregion #region [ Yx2 Guitar: ギターとベースを入れ替え ] if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.Y)) { // Pick, Y, Y, Pick で、ギターとベースを入れ替え CommandHistory.Add(EInstrumentPart.GUITAR, EPadFlag.Y); EPadFlag[] comSwapGtBs1 = new EPadFlag[] { EPadFlag.Y, EPadFlag.Y }; if (CommandHistory.CheckCommand(comSwapGtBs1, EInstrumentPart.GUITAR)) { Debug.WriteLine("ギターとベースの入れ替え1"); CDTXMania.Skin.soundChange.tPlay(); // ギターとベースのキーを入れ替え //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; } } #endregion #region [ Yx2 Bass: ギターとベースを入れ替え ] if (CDTXMania.Pad.bPressed(EInstrumentPart.BASS, EPad.Y)) { // ベース[Pick]: コマンドとしてEnqueue CommandHistory.Add(EInstrumentPart.BASS, EPadFlag.Y); // Pick, Y, Y, Pick で、ギターとベースを入れ替え EPadFlag[] comSwapGtBs1 = new EPadFlag[] { EPadFlag.Y, EPadFlag.Y }; if (CommandHistory.CheckCommand(comSwapGtBs1, EInstrumentPart.BASS)) { Debug.WriteLine("ギターとベースの入れ替え2"); CDTXMania.Skin.soundChange.tPlay(); // ギターとベースのキーを入れ替え //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; } } #endregion #region [ Px2 Guitar: 簡易CONFIG ] if (CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.P)) { // [BD]x2 スクロール速度変更 CommandHistory.Add(EInstrumentPart.GUITAR, EPadFlag.P); EPadFlag[] comChangeScrollSpeed = new EPadFlag[] { EPadFlag.P, EPadFlag.P }; if (CommandHistory.CheckCommand(comChangeScrollSpeed, EInstrumentPart.GUITAR)) { // Debug.WriteLine( "ドラムススクロール速度変更" ); // CDTXMania.ConfigIni.nScrollSpeed.Drums = ( CDTXMania.ConfigIni.nScrollSpeed.Drums + 1 ) % 0x10; CDTXMania.Skin.soundChange.tPlay(); this.actQuickConfig.tActivatePopupMenu(EInstrumentPart.GUITAR); } } #endregion #region [ Px2 Bass: 簡易CONFIG ] if (CDTXMania.Pad.bPressed(EInstrumentPart.BASS, EPad.P)) { // [BD]x2 スクロール速度変更 CommandHistory.Add(EInstrumentPart.BASS, EPadFlag.P); EPadFlag[] comChangeScrollSpeed = new EPadFlag[] { EPadFlag.P, EPadFlag.P }; if (CommandHistory.CheckCommand(comChangeScrollSpeed, EInstrumentPart.BASS)) { // Debug.WriteLine( "ドラムススクロール速度変更" ); // CDTXMania.ConfigIni.nScrollSpeed.Drums = ( CDTXMania.ConfigIni.nScrollSpeed.Drums + 1 ) % 0x10; CDTXMania.Skin.soundChange.tPlay(); this.actQuickConfig.tActivatePopupMenu(EInstrumentPart.BASS); } } #endregion #region [ Y P Guitar: ソート画面 ] if (CDTXMania.Pad.bPressing(EInstrumentPart.GUITAR, EPad.Y) && CDTXMania.Pad.bPressed(EInstrumentPart.GUITAR, EPad.P)) { // ギター[Pick]: コマンドとしてEnqueue CDTXMania.Skin.soundChange.tPlay(); this.actSortSongs.tActivatePopupMenu(EInstrumentPart.GUITAR, ref this.actSongList); } #endregion #region [ Y P Bass: ソート画面 ] if (CDTXMania.Pad.bPressing(EInstrumentPart.BASS, EPad.Y) && CDTXMania.Pad.bPressed(EInstrumentPart.BASS, EPad.P)) { // ベース[Pick]: コマンドとしてEnqueue CDTXMania.Skin.soundChange.tPlay(); this.actSortSongs.tActivatePopupMenu(EInstrumentPart.BASS, ref this.actSongList); } #endregion #region [ FTx2 Drums: ソート画面 ] if (CDTXMania.Pad.bPressed(EInstrumentPart.DRUMS, EPad.FT)) { // [HT]x2 ソート画面 2013.12.31.kairera0467 //Change to FT x 2 to follow Gitadora style // CommandHistory.Add(EInstrumentPart.DRUMS, EPadFlag.FT); EPadFlag[] comSort = new EPadFlag[] { EPadFlag.FT, EPadFlag.FT }; if (CommandHistory.CheckCommand(comSort, EInstrumentPart.DRUMS)) { CDTXMania.Skin.soundChange.tPlay(); this.actSortSongs.tActivatePopupMenu(EInstrumentPart.DRUMS, ref this.actSongList); } } #endregion } //if( CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.F6) ) //{ // if (CDTXMania.EnumSongs.IsEnumerating) // { // // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" ); // CDTXMania.EnumSongs.Abort(); // CDTXMania.actEnumSongs.OnDeactivate(); // } // CDTXMania.EnumSongs.StartEnumFromDisk(); // //CDTXMania.EnumSongs.ChangeEnumeratePriority(ThreadPriority.Normal); // CDTXMania.actEnumSongs.bコマンドでの曲データ取得 = true; // CDTXMania.actEnumSongs.OnActivate(); //} } #region [Test text field] if (!CDTXMania.app.bテキスト入力中 && CDTXMania.InputManager.Keyboard.bKeyPressed((int)SlimDXKey.Backspace)) { CDTXMania.Skin.soundDecide.tPlay(); this.actTextBox.t表示(); this.actTextBox.t入力を開始(); } #endregion this.actSortSongs.tUpdateAndDraw(); this.actQuickConfig.tUpdateAndDraw(); this.actTextBox.OnUpdateAndDraw(); if (actTextBox.b入力が終了した) { strSearchString = actTextBox.str確定文字列を返す(); string searchOutcome = ""; if (strSearchString != "" && strSearchString != CSongSearch.ExitSwitch) { searchOutcome = "Search Input: " + strSearchString; Trace.TraceInformation("Search Input: " + strSearchString); if (CDTXMania.SongManager.listSongBeforeSearch == null) { CDTXMania.SongManager.listSongBeforeSearch = CDTXMania.SongManager.listSongRoot; } List <CSongListNode> searchOutputList = CSongSearch.tSearchForSongs(CDTXMania.SongManager.listSongBeforeSearch, strSearchString); if (searchOutputList.Count == 0) { Trace.TraceInformation("No songs found!"); //To print a outcome message searchOutcome += "\r\nNo songs found"; } else { CDTXMania.SongManager.listSongRoot = searchOutputList; // this.actSongList.SearchUpdate(); //this.actSongList.Refresh(CDTXMania.SongManager, true); } this.tUpdateSearchNotification(searchOutcome); CDTXMania.Skin.soundDecide.tPlay(); } else if (strSearchString == CSongSearch.ExitSwitch) { if (CDTXMania.SongManager.listSongBeforeSearch != null) { CDTXMania.SongManager.listSongRoot = CDTXMania.SongManager.listSongBeforeSearch; CDTXMania.SongManager.listSongBeforeSearch = null; this.actSongList.SearchUpdate(); this.tUpdateSearchNotification("Exit Search Mode"); CDTXMania.Skin.soundDecide.tPlay(); } else { //Play cancel sound if input has no effect CDTXMania.Skin.soundCancel.tPlay(); } } else { //Play cancel sound if input has no effect CDTXMania.Skin.soundCancel.tPlay(); } actTextBox.t非表示(); } if (this.txSearchInputNotification != null) { this.txSearchInputNotification.tDraw2D(CDTXMania.app.Device, 10, 160); } } } return(0); }