Exemplo n.º 1
0
        public override int On進行描画()
        {
            if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー || TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛)
            {
                //if( this.st叩ききりまショー.b最初のチップが叩かれた == true )//&&
                //CDTXMania.stage演奏ドラム画面.r検索範囲内にチップがあるか調べる( CSoundManager.rc演奏用タイマ.n現在時刻ms, 0, 3000 ) )
                //this.st叩ききりまショー.ct残り時間.t進行();
                //else
                //{
                //    this.st叩ききりまショー.ct残り時間.n現在の値 = this.st叩ききりまショー.ct残り時間.n現在の値;
                //}


                //if( !this.st叩ききりまショー.ct残り時間.b停止中 )
                if (this.st叩ききりまショー.bタイマー使用中)
                {
                    if (!this.st叩ききりまショー.ct残り時間.b停止中 || this.st叩ききりまショー.b加算アニメ中 == true)
                    {
                        this.st叩ききりまショー.ct残り時間.t進行();
                        if (!TJAPlayer3.stage演奏ドラム画面.r検索範囲内にチップがあるか調べる((long)(CSoundManager.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)), 0, 5000, 0) || this.st叩ききりまショー.b加算アニメ中 == true)
                        {
                            this.st叩ききりまショー.bタイマー使用中 = false;
                            this.st叩ききりまショー.ct残り時間.t停止();
                        }
                    }
                }

                if (!this.st叩ききりまショー.bタイマー使用中 && this.st叩ききりまショー.b加算アニメ中 == false)
                {
                    if ((this.st叩ききりまショー.b最初のチップが叩かれた == true && (TJAPlayer3.stage演奏ドラム画面.r検索範囲内にチップがあるか調べる(CSoundManager.rc演奏用タイマ.n現在時刻ms, 0, 2000, 0))))
                    {
                        this.st叩ききりまショー.bタイマー使用中 = true;
                        int nCount = this.st叩ききりまショー.ct残り時間.n現在の値;
                        this.st叩ききりまショー.ct残り時間       = new CCounter(0, 25000, 1, TJAPlayer3.Timer);
                        this.st叩ききりまショー.ct針アニメ       = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
                        this.st叩ききりまショー.ct残り時間.n現在の値 = nCount;
                    }
                }


                if ((this.st叩ききりまショー.ct残り時間.n現在の値 >= 20000) && this.st叩ききりまショー.ct残り時間.n現在の値 != 25000)
                {
                    this.t叩ききりまショー_評価をして残り時間を延長する();
                }

                if (TJAPlayer3.Tx.Tile_Black != null)
                {
                    if (this.st叩ききりまショー.ct残り時間.n現在の値 >= 22000 && this.st叩ききりまショー.ct残り時間.n現在の値 < 23000)
                    {
                        TJAPlayer3.Tx.Tile_Black.Opacity = 64;
                    }
                    else if (this.st叩ききりまショー.ct残り時間.n現在の値 >= 23000 && this.st叩ききりまショー.ct残り時間.n現在の値 < 24000)
                    {
                        TJAPlayer3.Tx.Tile_Black.Opacity = 128;
                    }
                    else if (this.st叩ききりまショー.ct残り時間.n現在の値 >= 24000)
                    {
                        TJAPlayer3.Tx.Tile_Black.Opacity = 192;
                    }
                    else
                    {
                        TJAPlayer3.Tx.Tile_Black.Opacity = 0;
                    }

                    for (int i = 0; i <= (GameWindowSize.Width / 64); i++)
                    {
                        for (int j = 0; j <= (GameWindowSize.Height / 64); j++)
                        {
                            TJAPlayer3.Tx.Tile_Black.t2D描画(TJAPlayer3.app.Device, i * 64, j * 64);
                        }
                    }
                }

                //CDTXMania.act文字コンソール.tPrint( 100, 0, C文字コンソール.EFontType.白, ( 25 - this.st叩ききりまショー.ct残り時間.n現在の値 ).ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16, C文字コンソール.EFontType.白, this.st叩ききりまショー.n区間ノート数.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 2, C文字コンソール.EFontType.白, this.st叩ききりまショー.n現在通過したノート数.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 3, C文字コンソール.EFontType.白, this.st叩ききりまショー.nヒット数_MISS.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 4, C文字コンソール.EFontType.白, this.st叩ききりまショー.n最小ズレ時間.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 5, C文字コンソール.EFontType.白, this.st叩ききりまショー.n最大ズレ時間.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 6, C文字コンソール.EFontType.白, this.st叩ききりまショー.n全体最大ズレ時間.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 7, C文字コンソール.EFontType.白, this.st叩ききりまショー.n最大コンボ.ToString() );
                //CDTXMania.act文字コンソール.tPrint( 100, 16 * 7, C文字コンソール.EFontType.白, this.st叩ききりまショー.ct加算審査中.n現在の値.ToString() );

                #region [ 残り時間描画 ]
                if (TJAPlayer3.Tx.Taiko_Combo != null)
                {
                    if (TJAPlayer3.Tx.GameMode_Timer_Frame != null)
                    {
                        TJAPlayer3.Tx.GameMode_Timer_Frame.t2D描画(TJAPlayer3.app.Device, 230, 84);
                    }
                    this.st叩ききりまショー.ct針アニメ.t進行Loop();

                    int   nCenterX = 230;
                    int   nCerterY = 84;
                    float fRotate  = -CConvert.DegreeToRadian(360.0f * (this.st叩ききりまショー.ct針アニメ.n現在の値 / 1000.0f));
                    if (this.st叩ききりまショー.b加算アニメ中 == true)
                    {
                        fRotate = CConvert.DegreeToRadian(360.0f * (this.st叩ききりまショー.ct針アニメ.n現在の値 / (float)this.st叩ききりまショー.n延長アニメ速度));
                    }

                    Matrix4x4 mat = Matrix4x4.Identity;
                    if (this.st叩ききりまショー.b最初のチップが叩かれた)
                    {
                        mat *= Matrix4x4.CreateRotationZ(fRotate);
                        mat *= Matrix4x4.CreateTranslation(280 - 640, -(134 - 360), 0);
                    }
                    else
                    {
                        mat *= Matrix4x4.CreateTranslation(280 - 640, -(134 - 360), 0);
                    }

                    TJAPlayer3.Tx.GameMode_Timer_Tick.t3D描画(TJAPlayer3.app.Device, mat);

                    string str表示する残り時間 = (this.st叩ききりまショー.ct残り時間.n現在の値 < 1000) ? "25" : ((26000 - this.st叩ききりまショー.ct残り時間.n現在の値) / 1000).ToString();
                    this.t小文字表示(230 + (str表示する残り時間.Length * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0] / 4), 84 + TJAPlayer3.Tx.GameMode_Timer_Frame.szTextureSize.Height / 2, string.Format("{0,2:#0}", str表示する残り時間));
                }

                if (!this.st叩ききりまショー.ct加算審査中.b停止中)
                {
                    if (!this.st叩ききりまショー.ct加算審査中.b停止中)
                    {
                        this.st叩ききりまショー.ct加算審査中.t進行();
                        if (this.st叩ききりまショー.ct加算審査中.b終了値に達した)
                        {
                            this.st叩ききりまショー.ct加算審査中.t停止();
                            this.st叩ききりまショー.b加算アニメ中 = false;
                            this.t加算時間描画_Start();
                        }
                    }
                }
                if (!this.st叩ききりまショー.ct加算時間表示.b停止中)
                {
                    if (!this.st叩ききりまショー.ct加算時間表示.b停止中)
                    {
                        this.st叩ききりまショー.ct加算時間表示.t進行();
                        if (this.st叩ききりまショー.ct加算時間表示.b終了値に達した)
                        {
                            this.st叩ききりまショー.ct加算時間表示.t停止();
                        }
                    }
                    this.t加算時間描画(this.n前回の延長時間);
                }
                #endregion
            }
            return(0);
        }