From d7d77460fb80e8a6d8989297621df505b9b552e7 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 12 Nov 2020 12:55:42 +0900 Subject: [PATCH] Small refactorings --- osu.Game/Rulesets/UI/DrawableRuleset.cs | 15 ++++++++++++++- osu.Game/Rulesets/UI/HitObjectContainer.cs | 10 ++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/osu.Game/Rulesets/UI/DrawableRuleset.cs b/osu.Game/Rulesets/UI/DrawableRuleset.cs index 2c5fce3e86..1a00346d6a 100644 --- a/osu.Game/Rulesets/UI/DrawableRuleset.cs +++ b/osu.Game/Rulesets/UI/DrawableRuleset.cs @@ -233,6 +233,13 @@ namespace osu.Game.Rulesets.UI ResumeOverlay?.Hide(); } + /// + /// Adds a to this . + /// + /// + /// This does not add the to the beatmap. + /// + /// The to add. public void AddHitObject(TObject hitObject) { if (PoolHitObjects) @@ -241,6 +248,13 @@ namespace osu.Game.Rulesets.UI Playfield.Add(CreateDrawableRepresentation(hitObject)); } + /// + /// Removes a from this . + /// + /// + /// This does not remove the from the beatmap. + /// + /// The to remove. public void RemoveHitObject(TObject hitObject) { if (PoolHitObjects) @@ -380,7 +394,6 @@ namespace osu.Game.Rulesets.UI /// Displays an interactive ruleset gameplay instance. /// /// This type is required only for adding non-generic type to the draw hierarchy. - /// Once IDrawable is a thing, this can also become an interface. /// /// [Cached(typeof(DrawableRuleset))] diff --git a/osu.Game/Rulesets/UI/HitObjectContainer.cs b/osu.Game/Rulesets/UI/HitObjectContainer.cs index 12d78dac2b..ff358e2e75 100644 --- a/osu.Game/Rulesets/UI/HitObjectContainer.cs +++ b/osu.Game/Rulesets/UI/HitObjectContainer.cs @@ -100,10 +100,11 @@ namespace osu.Game.Rulesets.UI public virtual void Add(DrawableHitObject hitObject) { bindStartTime(hitObject); - AddInternal(hitObject); hitObject.OnNewResult += onNewResult; hitObject.OnRevertResult += onRevertResult; + + AddInternal(hitObject); } public virtual bool Remove(DrawableHitObject hitObject) @@ -143,7 +144,12 @@ namespace osu.Game.Rulesets.UI unbindAllStartTimes(); } - protected override bool CheckChildrenLife() => base.CheckChildrenLife() | lifetimeManager.Update(Time.Current, Time.Current); + protected override bool CheckChildrenLife() + { + bool aliveChanged = base.CheckChildrenLife(); + aliveChanged |= lifetimeManager.Update(Time.Current, Time.Current); + return aliveChanged; + } private void onNewResult(DrawableHitObject d, JudgementResult r) => NewResult?.Invoke(d, r); private void onRevertResult(DrawableHitObject d, JudgementResult r) => RevertResult?.Invoke(d, r);