public override int OnUpdateAndDraw()
        {
            if (!base.bNotActivated)
            {
                double dbPERFECT率  = 0;
                double dbGREAT率    = 0;
                double dbGOOD率     = 0;
                double dbPOOR率     = 0;
                double dbMISS率     = 0;
                double dbMAXCOMBO率 = 0;

                for (int i = 1; i < 3; i++)
                {
                    if (this.n本体X[i] != 0)
                    {
                        string str      = string.Format("{0:0.00}", ((float)CDTXMania.DTX.LEVEL[i]) / 10.0f + (CDTXMania.DTX.LEVELDEC[i] != 0 ? CDTXMania.DTX.LEVELDEC[i] / 100.0f : 0));
                        bool   bCLASSIC = false;
                        //If Skill Mode is CLASSIC, always display lvl as Classic Style
                        if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする &&
                                                                    (i == 1 ? !CDTXMania.DTX.bチップがある.YPGuitar : !CDTXMania.DTX.bチップがある.YPBass) &&
                                                                    (CDTXMania.DTX.b強制的にXG譜面にする == false)))
                        {
                            str      = string.Format("{0:00}", CDTXMania.DTX.LEVEL[i]);
                            bCLASSIC = true;
                        }

                        this.txスキルパネル.tDraw2D(CDTXMania.app.Device, this.n本体X[i], this.n本体Y);
                        this.txネームプレート用文字[i - 1].tDraw2D(CDTXMania.app.Device, this.n本体X[i], this.n本体Y);

                        this.t小文字表示(80 + this.n本体X[i], 72 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Perfect));
                        this.t小文字表示(80 + this.n本体X[i], 102 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Great));
                        this.t小文字表示(80 + this.n本体X[i], 132 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Good));
                        this.t小文字表示(80 + this.n本体X[i], 162 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Poor));
                        this.t小文字表示(80 + this.n本体X[i], 192 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Miss));
                        this.t小文字表示(80 + this.n本体X[i], 222 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfGuitarScreen.actCombo.nCurrentCombo.HighestValue[i]));

                        int n現在のノーツ数 =
                            CDTXMania.stagePerfGuitarScreen.nHitCount_IncAuto[i].Perfect +
                            CDTXMania.stagePerfGuitarScreen.nHitCount_IncAuto[i].Great +
                            CDTXMania.stagePerfGuitarScreen.nHitCount_IncAuto[i].Good +
                            CDTXMania.stagePerfGuitarScreen.nHitCount_IncAuto[i].Poor +
                            CDTXMania.stagePerfGuitarScreen.nHitCount_IncAuto[i].Miss;

                        if (CDTXMania.stagePerfGuitarScreen.bIsTrainingMode)
                        {
                            CDTXMania.stagePerfGuitarScreen.actStatusPanel.db現在の達成率.Guitar = 0;
                        }
                        else
                        {
                            dbPERFECT率  = Math.Round((100.0 * CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Perfect) / n現在のノーツ数);
                            dbGREAT率    = Math.Round((100.0 * CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Great / n現在のノーツ数));
                            dbGOOD率     = Math.Round((100.0 * CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Good / n現在のノーツ数));
                            dbPOOR率     = Math.Round((100.0 * CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Poor / n現在のノーツ数));
                            dbMISS率     = Math.Round((100.0 * CDTXMania.stagePerfGuitarScreen.nHitCount_ExclAuto[i].Miss / n現在のノーツ数));
                            dbMAXCOMBO率 = Math.Round((100.0 * CDTXMania.stagePerfGuitarScreen.actCombo.nCurrentCombo.HighestValue[i] / n現在のノーツ数));
                        }

                        if (double.IsNaN(dbPERFECT率))
                        {
                            dbPERFECT率 = 0;
                        }
                        if (double.IsNaN(dbGREAT率))
                        {
                            dbGREAT率 = 0;
                        }
                        if (double.IsNaN(dbGOOD率))
                        {
                            dbGOOD率 = 0;
                        }
                        if (double.IsNaN(dbPOOR率))
                        {
                            dbPOOR率 = 0;
                        }
                        if (double.IsNaN(dbMISS率))
                        {
                            dbMISS率 = 0;
                        }
                        if (double.IsNaN(dbMAXCOMBO率))
                        {
                            dbMAXCOMBO率 = 0;
                        }

                        this.t小文字表示(167 + this.n本体X[i], 72 + this.n本体Y, string.Format("{0,3:##0}%", dbPERFECT率));
                        this.t小文字表示(167 + this.n本体X[i], 102 + this.n本体Y, string.Format("{0,3:##0}%", dbGREAT率));
                        this.t小文字表示(167 + this.n本体X[i], 132 + this.n本体Y, string.Format("{0,3:##0}%", dbGOOD率));
                        this.t小文字表示(167 + this.n本体X[i], 162 + this.n本体Y, string.Format("{0,3:##0}%", dbPOOR率));
                        this.t小文字表示(167 + this.n本体X[i], 192 + this.n本体Y, string.Format("{0,3:##0}%", dbMISS率));
                        this.t小文字表示(167 + this.n本体X[i], 222 + this.n本体Y, string.Format("{0,3:##0}%", dbMAXCOMBO率));

                        //this.tDrawStringLarge(58 + this.n本体X[ i ], 277 + this.n本体Y, string.Format( "{0,6:##0.00}", CDTXMania.stagePerfGuitarScreen.actStatusPanel.db現在の達成率.Guitar ) );
                        if (this.txSkillMax != null && CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Guitar >= 100.0)
                        {
                            this.txSkillMax.tDraw2D(CDTXMania.app.Device, 127 + this.n本体X[i], 277 + this.n本体Y);
                        }
                        else
                        {
                            this.t大文字表示(58 + this.n本体X[i], 277 + this.n本体Y, string.Format("{0,6:##0.00}", CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Guitar));
                            if (this.txPercent != null)
                            {
                                this.txPercent.tDraw2D(CDTXMania.app.Device, 217 + this.n本体X[i], 287 + this.n本体Y);
                            }
                        }

                        if (bCLASSIC)
                        {
                            this.t大文字表示(88 + this.n本体X[i], 363 + this.n本体Y, string.Format("{0,6:##0.00}", CDTXMania.stagePerfGuitarScreen.actStatusPanel.db現在の達成率.Guitar * (CDTXMania.DTX.LEVEL[i]) * 0.0033));
                        }
                        else
                        {
                            this.t大文字表示(88 + this.n本体X[i], 363 + this.n本体Y, string.Format("{0,6:##0.00}", CScoreIni.tCalculateGameSkillFromPlayingSkill(CDTXMania.DTX.LEVEL[i], CDTXMania.DTX.LEVELDEC[i], CDTXMania.stagePerfGuitarScreen.actStatusPanel.db現在の達成率.Guitar)));
                        }


                        if (this.tx難易度パネル != null)
                        {
                            this.tx難易度パネル.tDraw2D(CDTXMania.app.Device, 14 + this.n本体X[i], 266 + this.n本体Y, new Rectangle(base.rectDiffPanelPoint.X, base.rectDiffPanelPoint.Y, 60, 60));
                        }
                        this.tレベル数字描画((bCLASSIC == true ? 26 : 18) + this.n本体X[i], 290 + this.n本体Y, str);
                    }
                }
            }
            return(0);
        }
Ejemplo n.º 2
0
        public override int OnUpdateAndDraw()
        {
            if (!base.bNotActivated)
            {
                double dbPERFECT率  = 0;
                double dbGREAT率    = 0;
                double dbGOOD率     = 0;
                double dbPOOR率     = 0;
                double dbMISS率     = 0;
                double dbMAXCOMBO率 = 0;

                int i = 0;

                string str      = string.Format("{0:0.00}", ((float)CDTXMania.DTX.LEVEL[i]) / 10.0f + (CDTXMania.DTX.LEVELDEC[i] != 0 ? CDTXMania.DTX.LEVELDEC[i] / 100.0f : 0));
                bool   bCLASSIC = false;
                //If Skill Mode is CLASSIC, always display lvl as Classic Style
                if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする &&
                                                            (CDTXMania.DTX.bチップがある.LeftCymbal == false) &&
                                                            (CDTXMania.DTX.bチップがある.LP == false) &&
                                                            (CDTXMania.DTX.bチップがある.LBD == false) &&
                                                            (CDTXMania.DTX.bチップがある.FT == false) &&
                                                            (CDTXMania.DTX.bチップがある.Ride == false) &&
                                                            (CDTXMania.DTX.b強制的にXG譜面にする == false)))
                {
                    str      = string.Format("{0:00}", CDTXMania.DTX.LEVEL[i]);
                    bCLASSIC = true;
                }

                this.txスキルパネル.tDraw2D(CDTXMania.app.Device, this.n本体X[i], this.n本体Y);
                this.txネームプレート用文字.tDraw2D(CDTXMania.app.Device, this.n本体X[i], this.n本体Y);

                this.t小文字表示(80 + this.n本体X[i], 72 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Perfect));
                this.t小文字表示(80 + this.n本体X[i], 102 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Great));
                this.t小文字表示(80 + this.n本体X[i], 132 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Good));
                this.t小文字表示(80 + this.n本体X[i], 162 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Poor));
                this.t小文字表示(80 + this.n本体X[i], 192 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Miss));
                this.t小文字表示(80 + this.n本体X[i], 222 + this.n本体Y, string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.actCombo.nCurrentCombo.HighestValue[i]));

                int n現在のノーツ数 =
                    CDTXMania.stagePerfDrumsScreen.nHitCount_IncAuto[i].Perfect +
                    CDTXMania.stagePerfDrumsScreen.nHitCount_IncAuto[i].Great +
                    CDTXMania.stagePerfDrumsScreen.nHitCount_IncAuto[i].Good +
                    CDTXMania.stagePerfDrumsScreen.nHitCount_IncAuto[i].Poor +
                    CDTXMania.stagePerfDrumsScreen.nHitCount_IncAuto[i].Miss;

                if (CDTXMania.stagePerfDrumsScreen.bIsTrainingMode)
                {
                    CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Drums = 0;
                }
                else
                {
                    dbPERFECT率  = Math.Round((100.0 * CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Perfect) / n現在のノーツ数);
                    dbGREAT率    = Math.Round((100.0 * CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Great / n現在のノーツ数));
                    dbGOOD率     = Math.Round((100.0 * CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Good / n現在のノーツ数));
                    dbPOOR率     = Math.Round((100.0 * CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Poor / n現在のノーツ数));
                    dbMISS率     = Math.Round((100.0 * CDTXMania.stagePerfDrumsScreen.nHitCount_ExclAuto[i].Miss / n現在のノーツ数));
                    dbMAXCOMBO率 = Math.Round((100.0 * CDTXMania.stagePerfDrumsScreen.actCombo.nCurrentCombo.HighestValue[i] / n現在のノーツ数));
                }

                if (double.IsNaN(dbPERFECT率))
                {
                    dbPERFECT率 = 0;
                }
                if (double.IsNaN(dbGREAT率))
                {
                    dbGREAT率 = 0;
                }
                if (double.IsNaN(dbGOOD率))
                {
                    dbGOOD率 = 0;
                }
                if (double.IsNaN(dbPOOR率))
                {
                    dbPOOR率 = 0;
                }
                if (double.IsNaN(dbMISS率))
                {
                    dbMISS率 = 0;
                }
                if (double.IsNaN(dbMAXCOMBO率))
                {
                    dbMAXCOMBO率 = 0;
                }

                this.t小文字表示(167 + this.n本体X[i], 72 + this.n本体Y, string.Format("{0,3:##0}%", dbPERFECT率));
                this.t小文字表示(167 + this.n本体X[i], 102 + this.n本体Y, string.Format("{0,3:##0}%", dbGREAT率));
                this.t小文字表示(167 + this.n本体X[i], 132 + this.n本体Y, string.Format("{0,3:##0}%", dbGOOD率));
                this.t小文字表示(167 + this.n本体X[i], 162 + this.n本体Y, string.Format("{0,3:##0}%", dbPOOR率));
                this.t小文字表示(167 + this.n本体X[i], 192 + this.n本体Y, string.Format("{0,3:##0}%", dbMISS率));
                this.t小文字表示(167 + this.n本体X[i], 222 + this.n本体Y, string.Format("{0,3:##0}%", dbMAXCOMBO率));

                //this.tDrawStringLarge(58 + this.n本体X[i], 277 + this.n本体Y, string.Format("{0,6:##0.00}", CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Drums ) );
                //Conditional checks for MAX
                if (this.txSkillMax != null && CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Drums >= 100.0)
                {
                    this.txSkillMax.tDraw2D(CDTXMania.app.Device, 127 + this.n本体X[i], 277 + this.n本体Y);
                }
                else
                {
                    this.t大文字表示(58 + this.n本体X[i], 277 + this.n本体Y, string.Format("{0,6:##0.00}", CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Drums));
                    if (this.txPercent != null)
                    {
                        this.txPercent.tDraw2D(CDTXMania.app.Device, 217 + this.n本体X[i], 287 + this.n本体Y);
                    }
                }

                //Draw Lag Counters if Lag Display is on
                if (CDTXMania.ConfigIni.bShowLagHitCount)
                {
                    //Type-A is Early-Blue, Late-Red
                    bool bTypeAColor = CDTXMania.ConfigIni.nShowLagTypeColor == 0;

                    this.tDrawLagCounterText(this.n本体X[i] + 170, this.n本体Y + 335,
                                             string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nTimingHitCount[i].nEarly), !bTypeAColor);
                    this.tDrawLagCounterText(this.n本体X[i] + 245, this.n本体Y + 335,
                                             string.Format("{0,4:###0}", CDTXMania.stagePerfDrumsScreen.nTimingHitCount[i].nLate), bTypeAColor);
                }

                if (bCLASSIC)
                {
                    this.t大文字表示(88 + this.n本体X[i], 363 + this.n本体Y, string.Format("{0,6:##0.00}", CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Drums * (CDTXMania.DTX.LEVEL[i] * 0.0033)));
                }
                else
                {
                    this.t大文字表示(88 + this.n本体X[i], 363 + this.n本体Y, string.Format("{0,6:##0.00}", CScoreIni.tCalculateGameSkillFromPlayingSkill(CDTXMania.DTX.LEVEL[i], CDTXMania.DTX.LEVELDEC[i], CDTXMania.stagePerfDrumsScreen.actStatusPanel.db現在の達成率.Drums)));
                }

                if (this.tx難易度パネル != null)
                {
                    this.tx難易度パネル.tDraw2D(CDTXMania.app.Device, 14 + this.n本体X[i], 266 + this.n本体Y, new Rectangle(base.rectDiffPanelPoint.X, base.rectDiffPanelPoint.Y, 60, 60));
                }
                this.tレベル数字描画((bCLASSIC == true ? 26 : 18) + this.n本体X[i], 290 + this.n本体Y, str);
            }
            return(0);
        }