Implement Score Processor Mod Interface

- Add a delegate whenever we want to register an additional fail condition
This commit is contained in:
Brayzure
2017-11-20 02:15:29 -05:00
parent de4d8eb196
commit da30d76f9b
6 changed files with 74 additions and 28 deletions

View File

@ -1,12 +1,24 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Game.Rulesets.Scoring;
namespace osu.Game.Rulesets.Mods
{
public abstract class ModPerfect : ModSuddenDeath
public abstract class ModPerfect : ModSuddenDeath, IApplicableToScoreProcessor
{
public override string Name => "Perfect";
public override string ShortenedName => "PF";
public override string Description => "SS or quit.";
public bool onFailCheck(ScoreProcessor scoreProcessor)
{
return scoreProcessor.Accuracy.Value != 1;
}
public virtual void ApplyToScoreProcessor(ScoreProcessor scoreProcessor)
{
scoreProcessor.FailChecker += onFailCheck;
}
}
}
}