Beispiel #1
0
        /// <summary>
        /// 点数を加える(各種AUTO補正つき)
        /// </summary>
        /// <param name="part"></param>
        /// <param name="bAutoPlay"></param>
        /// <param name="delta"></param>
        public void Add(E楽器パート part, STAUTOPLAY bAutoPlay, long delta, int player)
        {
            double rev = 1.0;

            switch (part)
            {
                #region [ Unknown ]
            case E楽器パート.UNKNOWN:
                throw new ArgumentException();
                #endregion
            }
            this.ctTimer = new CCounter(0, 400, 1, CDTXMania.Timer);

            for (int sc = 0; sc < 1; sc++)
            {
                for (int i = 0; i < 256; i++)
                {
                    if (this.stScore[i].b使用中 == false)
                    {
                        this.stScore[i].b使用中        = true;
                        this.stScore[i].b表示中        = true;
                        this.stScore[i].nAddScore   = (int)delta;
                        this.stScore[i].ctTimer     = new CCounter(0, 400, 1, CDTXMania.Timer);
                        this.stScore[i].bBonusScore = false;
                        this.stScore[i].nPlayer     = player;
                        this.n現在表示中のAddScore++;
                        break;
                    }
                }
            }

            this.Set(part, this.Get(part, player) + delta * rev, player);
        }
Beispiel #2
0
        /// <summary>
        /// 点数を加える(各種AUTO補正つき)
        /// </summary>
        /// <param name="part"></param>
        /// <param name="bAutoPlay"></param>
        /// <param name="delta"></param>
        public void Add(EInstrumentPart part, STAUTOPLAY bAutoPlay, long delta)
        {
            double rev = 1.0;

            switch (part)
            {
                #region [ Unknown ]
            case EInstrumentPart.UNKNOWN:
                throw new ArgumentException();

                #endregion
                #region [ Gutiar ]
            case EInstrumentPart.GUITAR:
                if (!CDTXMania.ConfigIni.bAllGuitarsAreAutoPlay)
                {
                    #region [ Auto Wailing ]
                    if (bAutoPlay.GtW)
                    {
                        rev /= 2;
                    }
                    #endregion
                    #region [ Auto Pick ]
                    if (bAutoPlay.GtPick)
                    {
                        rev /= 3;
                    }
                    #endregion
                    #region [ Auto Neck ]
                    if (bAutoPlay.GtR || bAutoPlay.GtG || bAutoPlay.GtB)
                    {
                        rev /= 4;
                    }
                    #endregion
                }
                break;

                #endregion
                #region [ Bass ]
            case EInstrumentPart.BASS:
                if (!CDTXMania.ConfigIni.bAllBassAreAutoPlay)
                {
                    #region [ Auto Wailing ]
                    if (bAutoPlay.BsW)
                    {
                        rev /= 2;
                    }
                    #endregion
                    #region [ Auto Pick ]
                    if (bAutoPlay.BsPick)
                    {
                        rev /= 3;
                    }
                    #endregion
                    #region [ Auto Neck ]
                    if (bAutoPlay.BsR || bAutoPlay.BsG || bAutoPlay.BsB)
                    {
                        rev /= 4;
                    }
                    #endregion
                }
                break;
                #endregion
            }
            this.Set(part, this.Get(part) + delta * rev);
        }
Beispiel #3
0
        /// <summary>
        /// 点数を加える(各種AUTO補正つき)
        /// </summary>
        /// <param name="part"></param>
        /// <param name="bAutoPlay"></param>
        /// <param name="delta"></param>
        public void Add(EInstrumentPart part, STAUTOPLAY bAutoPlay, long delta)
        {
            double rev = 1.0;

            switch (part)
            {
                #region [ Unknown ]
            case EInstrumentPart.UNKNOWN:
                throw new ArgumentException();

                #endregion
                #region [ Gutiar ]
            case EInstrumentPart.GUITAR:
                if (!CDTXMania.ConfigIni.bAllGuitarsAreAutoPlay)
                {
                    //Removed penalty for Auto-Wailing here as it does not actually add any score
                    //If Wailing Bonus score are to be added later, then check for Auto-Wailing and apply penalty separately
                    #region [ Auto Pick ]
                    if (bAutoPlay.GtPick)
                    {
                        rev /= 2;
                    }
                    #endregion
                    #region [ Auto Neck ]
                    if (bAutoPlay.GtR || bAutoPlay.GtG || bAutoPlay.GtB || bAutoPlay.GtY || bAutoPlay.GtP)
                    {
                        rev /= 2;
                    }
                    #endregion
                }
                else if (CDTXMania.ConfigIni.bAllGuitarsAreAutoPlay &&
                         !CDTXMania.ConfigIni.bAutoAddGage)
                {
                    //If fully auto and AutoAddGage is not enabled, score delta should always be 0
                    rev = 0.0;
                }
                break;

                #endregion
                #region [ Bass ]
            case EInstrumentPart.BASS:
                if (!CDTXMania.ConfigIni.bAllBassAreAutoPlay)
                {
                    //Removed penalty for Auto-Wailing here as it does not actually add any score
                    //If Wailing Bonus score are to be added later, then check for Auto-Wailing and apply penalty separately
                    #region [ Auto Pick ]
                    if (bAutoPlay.BsPick)
                    {
                        rev /= 2;
                    }
                    #endregion
                    #region [ Auto Neck ]
                    if (bAutoPlay.BsR || bAutoPlay.BsG || bAutoPlay.BsB || bAutoPlay.BsY || bAutoPlay.BsP)
                    {
                        rev /= 2;
                    }
                    #endregion
                }
                else if (CDTXMania.ConfigIni.bAllBassAreAutoPlay &&
                         !CDTXMania.ConfigIni.bAutoAddGage)
                {
                    //If fully auto and AutoAddGage is not enabled, score delta should always be 0
                    rev = 0.0;
                }
                break;
                #endregion
            }
            this.Set(part, this.Get(part) + delta * rev);
        }