Make combo be changed by the base ScoreProcessor.

This commit is contained in:
smoogipooo 2017-04-06 14:37:13 +09:00
parent 98630dd06c
commit 37129bf03d
4 changed files with 17 additions and 20 deletions

View File

@ -15,6 +15,8 @@ public class TaikoDrumRollTickJudgement : TaikoJudgement
/// </summary>
public override string MaxResultString => string.Empty;
public override bool AffectsCombo => false;
protected override int NumericResultForScore(TaikoHitResult result)
{
switch (result)

View File

@ -187,20 +187,6 @@ protected override void OnNewJudgement(TaikoJudgement judgement)
if (!isTick)
totalHits++;
// Apply combo changes, must be done before the hit score is added
if (!isTick)
{
switch (judgement.Result)
{
case HitResult.Miss:
Combo.Value = 0;
break;
case HitResult.Hit:
Combo.Value++;
break;
}
}
// Apply score changes
addHitScore(judgement);

View File

@ -17,10 +17,7 @@ public abstract class Judgement
/// </summary>
public double TimeOffset;
/// <summary>
/// The combo after this judgement was processed.
/// </summary>
public int ComboAtHit;
public virtual bool AffectsCombo => true;
/// <summary>
/// The string representation for the result achieved.

View File

@ -8,6 +8,7 @@
using osu.Game.Modes.Judgements;
using osu.Game.Modes.Objects;
using osu.Game.Modes.UI;
using osu.Game.Modes.Objects.Drawables;
namespace osu.Game.Modes.Scoring
{
@ -145,10 +146,21 @@ protected void AddJudgement(TJudgement judgement)
if (!exists)
{
if (judgement.AffectsCombo)
{
switch (judgement.Result)
{
case HitResult.Miss:
Combo.Value = 0;
break;
case HitResult.Hit:
Combo.Value++;
break;
}
}
Judgements.Add(judgement);
OnNewJudgement(judgement);
judgement.ComboAtHit = Combo.Value;
}
else
OnJudgementChanged(judgement);