/// <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); }
/// <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); }
/// <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); }