1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 15:43:21 +08:00

Move more properties to the base class

This commit is contained in:
smoogipoo 2019-12-19 20:18:17 +09:00
parent 76f2fb378f
commit 04c3a6f8a4
2 changed files with 20 additions and 21 deletions

View File

@ -11,6 +11,16 @@ namespace osu.Game.Rulesets.Scoring
{
public abstract class JudgementProcessor
{
/// <summary>
/// Invoked when all <see cref="HitObject"/>s have been judged by this <see cref="JudgementProcessor"/>.
/// </summary>
public event Action AllJudged;
/// <summary>
/// Invoked when a new judgement has occurred. This occurs after the judgement has been processed by this <see cref="JudgementProcessor"/>.
/// </summary>
public event Action<JudgementResult> NewJudgement;
/// <summary>
/// The maximum number of hits that can be judged.
/// </summary>
@ -21,6 +31,11 @@ namespace osu.Game.Rulesets.Scoring
/// </summary>
public int JudgedHits { get; private set; }
/// <summary>
/// Whether all <see cref="Judgement"/>s have been processed.
/// </summary>
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();
}
/// <summary>

View File

@ -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;
/// <summary>
/// Invoked when all <see cref="HitObject"/>s have been judged.
/// </summary>
public event Action AllJudged;
/// <summary>
/// Invoked when a new judgement has occurred. This occurs after the judgement has been processed by the <see cref="ScoreProcessor"/>.
/// </summary>
public event Action<JudgementResult> NewJudgement;
/// <summary>
/// The current total score.
/// </summary>
@ -66,11 +55,6 @@ namespace osu.Game.Rulesets.Scoring
/// </summary>
public readonly Bindable<ScoringMode> Mode = new Bindable<ScoringMode>();
/// <summary>
/// Whether all <see cref="Judgement"/>s have been processed.
/// </summary>
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)