public int t進行描画()
        {
            if (!base.b活性化してない && this.bIsActivePopupMenu)
            {
                if (this.bキー入力待ち)
                {
                    #region [ Shift-F1: CONFIG画面 ]
                    if ((TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDXKeys.Key.RightShift) || TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDXKeys.Key.LeftShift)) &&
                        TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.F1))
                    {                           // [SHIFT] + [F1] CONFIG
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        tCancel();
                        this.bGotoDetailConfig = true;
                    }
                    #endregion
                    #region [ キー入力: キャンセル ]
                    else if ((TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Escape) ||
                              TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) ||
                              TJAPlayer3.Pad.b押されたGB(Eパッド.Cancel)) &&
                             this.bEsc有効)
                    {                           // キャンセル
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        tCancel();
                        this.bIsActivePopupMenu = false;
                    }
                    #endregion

                    #region [ キー入力: 決定 ]
                    // E楽器パート eInst = E楽器パート.UNKNOWN;
                    ESortAction eAction = ESortAction.END;
                    if (TJAPlayer3.Pad.b押された(E楽器パート.GUITAR, Eパッド.Decide))
                    {
                        eInst   = E楽器パート.GUITAR;
                        eAction = ESortAction.Decide;
                    }
                    else if (TJAPlayer3.Pad.b押された(E楽器パート.BASS, Eパッド.Decide))
                    {
                        eInst   = E楽器パート.BASS;
                        eAction = ESortAction.Decide;
                    }
                    else if (
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.Decide) ||                      // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu.
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RD) ||
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LC) ||
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed) ||
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed) ||
                        (TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Return)))
                    {
                        eInst   = E楽器パート.DRUMS;
                        eAction = ESortAction.Decide;
                    }
                    if (eAction == ESortAction.Decide)                          // 決定
                    {
                        this.tEnter押下();
                    }
                    #endregion
                    #region [ キー入力: 前に移動 ]
                    this.ctキー反復用.Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDXKeys.Key.UpArrow), new CCounter.DGキー処理(this.t前に移動));
                    this.ctキー反復用.R.tキー反復(TJAPlayer3.Pad.b押されているGB(Eパッド.R), new CCounter.DGキー処理(this.t前に移動));
                    if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.SD) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                    {
                        this.t前に移動();
                    }
                    #endregion
                    #region [ キー入力: 次に移動 ]
                    this.ctキー反復用.Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDXKeys.Key.DownArrow), new CCounter.DGキー処理(this.t次に移動));
                    this.ctキー反復用.B.tキー反復(TJAPlayer3.Pad.b押されているGB(Eパッド.B), new CCounter.DGキー処理(this.t次に移動));
                    if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LT) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                    {
                        this.t次に移動();
                    }
                    #endregion
                }
                #region [ ポップアップメニュー 背景描画 ]
                if (TJAPlayer3.Tx.Menu_Title != null)
                {
                    TJAPlayer3.Tx.Menu_Title.t2D描画(TJAPlayer3.app.Device, 160, 40);
                }
                #endregion
                #region [ ソートメニュータイトル描画 ]
                int x = 240, y = 44;
                stqMenuTitle.txName.t2D描画(TJAPlayer3.app.Device, x, y);
                #endregion
                #region [ カーソル描画 ]
                if (TJAPlayer3.Tx.Menu_Highlight != null)
                {
                    int height = 32;
                    int curX   = 180;
                    int curY   = 46 + (height * (this.n現在の選択行 + 1));
                    TJAPlayer3.Tx.Menu_Highlight.t2D描画(TJAPlayer3.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 < 16; j++)
                    {
                        TJAPlayer3.Tx.Menu_Highlight.t2D描画(TJAPlayer3.app.Device, curX, curY, rectangle);
                        curX += 16;
                    }
                    TJAPlayer3.Tx.Menu_Highlight.t2D描画(TJAPlayer3.app.Device, curX, curY, new Rectangle(0x10, 0, 16, 32));
                }
                #endregion
                #region [ ソート候補文字列描画 ]
                for (int i = 0; i < lciMenuItems.Length; i++)
                {
                    bool bItemBold = (i == nItemSelecting && !bShowAllItems) ? true : false;
                    //font.t文字列描画( 190, 80 + i * 32, lciMenuItems[ i ].cItem.str項目名, bItemBold, 1.0f );
                    if (lciMenuItems[i].txName != null)
                    {
                        int height = lciMenuItems[i].rectName.Height;
                        lciMenuItems[i].txName.t2D描画(TJAPlayer3.app.Device, 180, 77 + i * 32);
                    }

                    bool bValueBold = (bItemBold || (i == nItemSelecting && bIsSelectingIntItem)) ? true : false;
                    if (bItemBold || bShowAllItems)
                    {
                        string s;
                        switch (lciMenuItems[i].cItem.str項目名)
                        {
                        case "演奏速度":
                        {
                            double d = (double)((int)lciMenuItems[i].cItem.obj現在値() / 20.0);
                            s = "x" + d.ToString("0.000");
                        }
                        break;

                        case "ばいそく":
                        {
                            double d = (double)((((int)lciMenuItems[i].cItem.obj現在値()) + 1) / 10.0);
                            s = "x" + d.ToString("0.0");
                        }
                        break;

                        default:
                            s = lciMenuItems[i].cItem.obj現在値().ToString();
                            break;
                        }
                        //font.t文字列描画( (int)(340 * Scale.X), (int)(80 + i * 32), s, bValueBold, 1.0f * Scale.Y);
                        using (var bmpStr = bValueBold ?
                                            prvFont.DrawPrivateFont(s, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
                                            prvFont.DrawPrivateFont(s, Color.White, Color.Black))
                        {
                            using (var ctStr = TJAPlayer3.tテクスチャの生成(bmpStr, false))
                            {
                                ctStr.t2D描画(TJAPlayer3.app.Device, 330, 77 + i * 32);
                            }
                        }
                    }
                }
                #endregion
                t進行描画sub();
            }
            return(0);
        }
Пример #2
0
        public int t進行描画()
        {
            ctbキー入力待ち?.t進行();
            if (ctbキー入力待ち.b終了値に達した)
            {
                bキー入力待ち = true;
            }
            if (!base.b活性化してない && this.bIsActivePopupMenu)
            {
                if (this.bキー入力待ち)
                {
                    #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
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        tCancel();
                        this.bGotoDetailConfig = true;
                    }
                    #endregion
                    #region [ キー入力: キャンセル ]
                    else if ((TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) ||
                              TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) ||
                              TJAPlayer3.Pad.b押されたGB(Eパッド.Cancel)) &&
                             this.bEsc有効)
                    {   // キャンセル
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        tCancel();
                        this.bIsActivePopupMenu = false;
                    }
                    #endregion

                    #region [ キー入力: 決定 ]
                    // E楽器パート eInst = E楽器パート.UNKNOWN;
                    ESortAction eAction = ESortAction.END;
                    if (TJAPlayer3.Pad.b押された(E楽器パート.GUITAR, Eパッド.Decide))
                    {
                        eInst   = E楽器パート.GUITAR;
                        eAction = ESortAction.Decide;
                    }
                    else if (TJAPlayer3.Pad.b押された(E楽器パート.BASS, Eパッド.Decide))
                    {
                        eInst   = E楽器パート.BASS;
                        eAction = ESortAction.Decide;
                    }
                    else if (
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.Decide) || // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu.
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RD) ||
                        TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LC) ||
                        (TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed) || TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed)) ||
                        (TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return)))
                    {
                        eInst   = E楽器パート.DRUMS;
                        eAction = ESortAction.Decide;
                    }
                    if (eAction == ESortAction.Decide)  // 決定
                    {
                        this.tEnter押下();
                    }
                    #endregion
                    #region [ キー入力: 前に移動 ]
                    this.ctキー反復用.Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.UpArrow), new CCounter.DGキー処理(this.t前に移動));
                    this.ctキー反復用.R.tキー反復(TJAPlayer3.Pad.b押されているGB(Eパッド.R), new CCounter.DGキー処理(this.t前に移動));
                    if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.SD) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue))
                    {
                        this.t前に移動();
                    }
                    #endregion
                    #region [ キー入力: 次に移動 ]
                    this.ctキー反復用.Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.DownArrow), new CCounter.DGキー処理(this.t次に移動));
                    this.ctキー反復用.B.tキー反復(TJAPlayer3.Pad.b押されているGB(Eパッド.B), new CCounter.DGキー処理(this.t次に移動));
                    if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LT) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue))
                    {
                        this.t次に移動();
                    }
                    #endregion
                }
                #region [ ポップアップメニュー 背景描画 ]
                TJAPlayer3.Tx.SongSelect_Difficulty_Option?.t2D描画(TJAPlayer3.app.Device, 0, 0);
                #endregion
                #region [ ソートメニュータイトル描画 ]
                int x = 70, y = 60;
                stqMenuTitle.txName.t2D描画(TJAPlayer3.app.Device, x, y);
                #endregion
                #region [ カーソル描画 ]
                if (TJAPlayer3.Tx.SongSelect_Difficulty_Cursor != null)
                {
                    int height = 46;
                    int curX   = 30;
                    int curY   = 330 + (height * (this.n現在の選択行 + 1));
                    curX += 0x10;
                    TJAPlayer3.Tx.SongSelect_Difficulty_Cursor.t2D描画(TJAPlayer3.app.Device, curX, curY);
                }
                #endregion
                #region [ オプション画像 ]
                if (TJAPlayer3.ConfigIni.真打 == true)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_Sin?.t2D描画(TJAPlayer3.app.Device, 50, 375);
                }
                if (TJAPlayer3.ConfigIni.n譜面スクロール速度.Drums == 3)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_2Speed?.t2D描画(TJAPlayer3.app.Device, 50, 421);
                }
                if (TJAPlayer3.ConfigIni.n譜面スクロール速度.Drums == 5)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_3Speed?.t2D描画(TJAPlayer3.app.Device, 50, 421);
                }
                if (TJAPlayer3.ConfigIni.n譜面スクロール速度.Drums == 7)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_4Speed?.t2D描画(TJAPlayer3.app.Device, 50, 421);
                }
                if (TJAPlayer3.ConfigIni.eSTEALTH == Eステルスモード.DORON)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_Doron?.t2D描画(TJAPlayer3.app.Device, 50, 513);
                }
                if (TJAPlayer3.ConfigIni.eRandom.Taiko == Eランダムモード.MIRROR)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_Mirror?.t2D描画(TJAPlayer3.app.Device, 50, 559);
                }
                if (TJAPlayer3.ConfigIni.eRandom.Taiko == Eランダムモード.SUPERRANDOM)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_Super_Random?.t2D描画(TJAPlayer3.app.Device, 50, 559);
                }
                if (TJAPlayer3.ConfigIni.eRandom.Taiko == Eランダムモード.HYPERRANDOM)
                {
                    TJAPlayer3.Tx.SongSelect_Difficulty_Hyper_Random?.t2D描画(TJAPlayer3.app.Device, 50, 559);
                }
                #endregion
                #region [ ソート候補文字列描画 ]
                for (int i = 0; i < lciMenuItems.Length; i++)
                {
                    bool bItemBold = (i == nItemSelecting && !bShowAllItems) ? true : false;
                    //font.t文字列描画( 190, 80 + i * 32, lciMenuItems[ i ].cItem.str項目名, bItemBold, 1.0f );
                    if (lciMenuItems[i].txName != null)
                    {
                        int height = lciMenuItems[i].rectName.Height;
                        lciMenuItems[i].txName.t2D描画(TJAPlayer3.app.Device, 79, 373 + i * 46);
                    }

                    bool bValueBold = (bItemBold || (i == nItemSelecting && bIsSelectingIntItem)) ? true : false;
                    if (bItemBold || bShowAllItems)
                    {
                        string s;
                        switch (lciMenuItems[i].cItem.str項目名)
                        {
                        case "スピード":
                        {
                            double d = (double)((int)lciMenuItems[i].cItem.obj現在値() / 20.0);
                            s = "x" + d.ToString("0.000");
                        }
                        break;

                        case "はやさ":
                        {
                            double d = (double)((((int)lciMenuItems[i].cItem.obj現在値()) + 1) / 2.0);
                            s = "x" + d.ToString("0.0");
                        }
                        break;

                        default:
                            s = lciMenuItems[i].cItem.obj現在値().ToString();
                            break;
                        }
                        //font.t文字列描画( (int)(340 * Scale.X), (int)(80 + i * 32), s, bValueBold, 1.0f * Scale.Y);
                        using (var bmpStr = bValueBold ?
                                            prvFont.DrawPrivateFont(s, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
                                            prvFont.DrawPrivateFont(s, Color.White, Color.Black))
                        {
                            using (var ctStr = TJAPlayer3.tテクスチャの生成(bmpStr, false))
                            {
                                ctStr.t2D中心基準描画(TJAPlayer3.app.Device, 309, 393 + i * 46);
                            }
                        }
                    }
                }
                #endregion
                t進行描画sub();
            }
            return(0);
        }
Пример #3
0
        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);
        }
Пример #4
0
        public int t進行描画()
        {
            if (!base.b活性化してない && this.bIsActivePopupMenu)
            {
                if (this.bキー入力待ち)
                {
                    #region [ キー入力: キャンセル ]
                    if ((TJAPlayer3.InputManager.Keyboard.bIsKeyPressed((int)SlimDXKeys.Key.Escape)) &&
                        this.bEsc有効)
                    {                           // キャンセル
                        TJAPlayer3.Skin.sound取消音.t再生する();
                        tCancel();
                        this.bIsActivePopupMenu = false;
                    }
                    #endregion

                    #region [ キー入力: 決定 ]
                    ESortAction eAction = ESortAction.END;
                    if (
                        TJAPlayer3.Pad.bPressed(EPad.LRed) ||
                        TJAPlayer3.Pad.bPressed(EPad.RRed) ||
                        (TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.InputManager.Keyboard.bIsKeyPressed((int)SlimDXKeys.Key.Return)))
                    {
                        eAction = ESortAction.Decide;
                    }
                    if (eAction == ESortAction.Decide)                          // 決定
                    {
                        this.tPushedEnter();
                    }
                    #endregion
                    #region [ キー入力: 前に移動 ]
                    this.ctキー反復用.Up.tキー反復(TJAPlayer3.InputManager.Keyboard.bIsKeyDown((int)SlimDXKeys.Key.UpArrow), new CCounter.DGキー処理(this.t前に移動));
                    if (TJAPlayer3.Pad.bPressed(EPad.LBlue))
                    {
                        this.t前に移動();
                    }
                    #endregion
                    #region [ キー入力: 次に移動 ]
                    this.ctキー反復用.Down.tキー反復(TJAPlayer3.InputManager.Keyboard.bIsKeyDown((int)SlimDXKeys.Key.DownArrow), new CCounter.DGキー処理(this.t次に移動));
                    if (TJAPlayer3.Pad.bPressed(EPad.RBlue))
                    {
                        this.t次に移動();
                    }
                    #endregion
                }
                #region [ ポップアップメニュー 背景描画 ]
                if (TJAPlayer3.Tx.Menu_Title != null)
                {
                    TJAPlayer3.Tx.Menu_Title.t2D描画(TJAPlayer3.app.Device, 160, 40);
                }
                #endregion
                #region [ ソートメニュータイトル描画 ]
                int x = 210, y = 60;
                stqMenuTitle.txName.t2D描画(TJAPlayer3.app.Device, CTexture.RefPnt.Left, x, y);
                #endregion
                #region [ カーソル描画 ]
                if (TJAPlayer3.Tx.Menu_Highlight != null)
                {
                    int height = 32;
                    int curX   = 180;
                    int curY   = 46 + (height * (this.n現在の選択行 + 1));
                    TJAPlayer3.Tx.Menu_Highlight.t2D描画(TJAPlayer3.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 < 16; j++)
                    {
                        TJAPlayer3.Tx.Menu_Highlight.t2D描画(TJAPlayer3.app.Device, curX, curY, rectangle);
                        curX += 16;
                    }
                    TJAPlayer3.Tx.Menu_Highlight.t2D描画(TJAPlayer3.app.Device, curX, curY, new Rectangle(0x10, 0, 16, 32));
                }
                #endregion
                #region [ ソート候補文字列描画 ]
                for (int i = 0; i < lciMenuItems.Length; i++)
                {
                    bool bItemBold = (i == nItemSelecting && !bShowAllItems) ? true : false;
                    //font.t文字列描画( 190, 80 + i * 32, lciMenuItems[ i ].cItem.strName, bItemBold, 1.0f );
                    if (lciMenuItems[i].txName != null)
                    {
                        int height = lciMenuItems[i].rectName.Height;
                        lciMenuItems[i].txName.t2D描画(TJAPlayer3.app.Device, CTexture.RefPnt.Left, 180, 92 + i * 32);
                    }

                    bool bValueBold = (bItemBold || (i == nItemSelecting && bIsSelectingIntItem)) ? true : false;
                    if (bItemBold || bShowAllItems)
                    {
                        string s;
                        switch (lciMenuItems[i].cItem.strName)
                        {
                        case "演奏速度":
                        {
                            double d = (double)((int)lciMenuItems[i].cItem.objValue() / 20.0);
                            s = "x" + d.ToString("0.000");
                        }
                        break;

                        case "ばいそく":
                        {
                            double d = (double)((((int)lciMenuItems[i].cItem.objValue()) + 1) / 10.0);
                            s = "x" + d.ToString("0.0");
                        }
                        break;

                        default:
                            s = lciMenuItems[i].cItem.objValue().ToString();
                            break;
                        }
                        using (var bmpStr = bValueBold ?
                                            prvFont.DrawPrivateFont(s, Color.White, Color.Black, Color.Yellow, Color.OrangeRed, TJAPlayer3.Skin.Font_Edge_Ratio) :
                                            prvFont.DrawPrivateFont(s, Color.White, Color.Black, TJAPlayer3.Skin.Font_Edge_Ratio))
                        {
                            using (var ctStr = TJAPlayer3.tCreateTexture(bmpStr))
                            {
                                ctStr.t2D描画(TJAPlayer3.app.Device, CTexture.RefPnt.Left, 330, 92 + i * 32);
                            }
                        }
                    }
                }
                #endregion
                t進行描画sub();
            }
            return(0);
        }