private void addHitJudgement(bool kiai) { TaikoHitResult hitResult = RNG.Next(2) == 0 ? TaikoHitResult.Good : TaikoHitResult.Great; var cpi = new ControlPointInfo(); cpi.EffectPoints.Add(new EffectControlPoint { KiaiMode = kiai }); Hit hit = new Hit(); hit.ApplyDefaults(cpi, new BeatmapDifficulty()); var h = new DrawableTestHit(hit) { X = RNG.NextSingle(hitResult == TaikoHitResult.Good ? -0.1f : -0.05f, hitResult == TaikoHitResult.Good ? 0.1f : 0.05f), Judgement = new TaikoJudgement { Result = HitResult.Hit, TaikoResult = hitResult, TimeOffset = 0 } }; playfield.OnJudgement(h); if (RNG.Next(10) == 0) { h.Judgement.SecondHit = true; playfield.OnJudgement(h); } }
protected override int NumericResultForScore(TaikoHitResult result) { switch (result) { default: return(0); case TaikoHitResult.Great: return(200); } }
/// <summary> /// Computes the numeric result value for the accuracy portion of the score. /// For the combo portion of the score, see <see cref="NumericResultForScore(TaikoHitResult)"/>. /// </summary> /// <param name="result">The result to compute the value for.</param> /// <returns>The numeric result value.</returns> protected virtual int NumericResultForAccuracy(TaikoHitResult result) { switch (result) { default: return(0); case TaikoHitResult.Good: return(150); case TaikoHitResult.Great: return(300); } }
private void addHitJudgement() { TaikoHitResult hitResult = RNG.Next(2) == 0 ? TaikoHitResult.Good : TaikoHitResult.Great; playfield.OnJudgement(new DrawableTestHit(new Hit()) { X = RNG.NextSingle(hitResult == TaikoHitResult.Good ? -0.1f : -0.05f, hitResult == TaikoHitResult.Good ? 0.1f : 0.05f), Judgement = new TaikoJudgement { Result = HitResult.Hit, TaikoResult = hitResult, TimeOffset = 0, SecondHit = RNG.Next(10) == 0 } }); }
protected override int NumericResultForAccuracy(TaikoHitResult result) { return(0); }