diff --git a/osu.Game/Rulesets/Scoring/JudgementProcessor.cs b/osu.Game/Rulesets/Scoring/JudgementProcessor.cs
index 854b926846..c7ac466eb0 100644
--- a/osu.Game/Rulesets/Scoring/JudgementProcessor.cs
+++ b/osu.Game/Rulesets/Scoring/JudgementProcessor.cs
@@ -11,6 +11,16 @@ namespace osu.Game.Rulesets.Scoring
{
public abstract class JudgementProcessor
{
+ ///
+ /// Invoked when all s have been judged by this .
+ ///
+ public event Action AllJudged;
+
+ ///
+ /// Invoked when a new judgement has occurred. This occurs after the judgement has been processed by this .
+ ///
+ public event Action NewJudgement;
+
///
/// The maximum number of hits that can be judged.
///
@@ -21,6 +31,11 @@ namespace osu.Game.Rulesets.Scoring
///
public int JudgedHits { get; private set; }
+ ///
+ /// Whether all s have been processed.
+ ///
+ public bool HasCompleted => JudgedHits == MaxHits;
+
protected JudgementProcessor(IBeatmap beatmap)
{
ApplyBeatmap(beatmap);
@@ -47,6 +62,11 @@ namespace osu.Game.Rulesets.Scoring
JudgedHits++;
ApplyResultInternal(result);
+
+ NewJudgement?.Invoke(result);
+
+ if (HasCompleted)
+ AllJudged?.Invoke();
}
///
diff --git a/osu.Game/Rulesets/Scoring/ScoreProcessor.cs b/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
index 945c21e196..093ba16e57 100644
--- a/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
+++ b/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
@@ -10,7 +10,6 @@ using osu.Framework.Extensions;
using osu.Game.Beatmaps;
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Mods;
-using osu.Game.Rulesets.Objects;
using osu.Game.Scoring;
namespace osu.Game.Rulesets.Scoring
@@ -21,16 +20,6 @@ namespace osu.Game.Rulesets.Scoring
private const double combo_portion = 0.7;
private const double max_score = 1000000;
- ///
- /// Invoked when all s have been judged.
- ///
- public event Action AllJudged;
-
- ///
- /// Invoked when a new judgement has occurred. This occurs after the judgement has been processed by the .
- ///
- public event Action NewJudgement;
-
///
/// The current total score.
///
@@ -66,11 +55,6 @@ namespace osu.Game.Rulesets.Scoring
///
public readonly Bindable Mode = new Bindable();
- ///
- /// Whether all s have been processed.
- ///
- public bool HasCompleted => JudgedHits == MaxHits;
-
private double maxHighestCombo;
private double maxBaseScore;
@@ -158,11 +142,6 @@ namespace osu.Game.Rulesets.Scoring
}
updateScore();
-
- NewJudgement?.Invoke(result);
-
- if (HasCompleted)
- AllJudged?.Invoke();
}
protected sealed override void RevertResultInternal(JudgementResult result)