Improve readability of code

This commit is contained in:
Dean Herbert 2018-06-06 14:04:20 +09:00
parent f253828d49
commit a5679f7bf5
1 changed files with 4 additions and 8 deletions

View File

@ -10,7 +10,7 @@
namespace osu.Game.Rulesets.Mods
{
public abstract class ModHidden : Mod, IReadFromConfig
public abstract class ModHidden : Mod, IReadFromConfig, IApplicableToDrawableHitObjects
{
public override string Name => "Hidden";
public override string ShortenedName => "HD";
@ -25,15 +25,11 @@ public void ReadFromConfig(OsuConfigManager config)
IncreaseFirstObjectVisibility = config.GetBindable<bool>(OsuSetting.IncreaseFirstObjectVisibility);
}
public void ApplyToDrawableHitObjects(IEnumerable<DrawableHitObject> drawables)
public virtual void ApplyToDrawableHitObjects(IEnumerable<DrawableHitObject> drawables)
{
foreach (var d in drawables)
{
if (d == drawables.Last() && IncreaseFirstObjectVisibility)
return;
// todo: fix ordering of objects so we don't have to do this (#2740).
foreach (var d in drawables.Reverse().Skip(IncreaseFirstObjectVisibility ? 1 : 0))
d.ApplyCustomUpdateState += ApplyHiddenState;
}
}
protected virtual void ApplyHiddenState(DrawableHitObject hitObject, ArmedState state) { }