diff --git a/osu.Game/Modes/UI/HealthDisplay.cs b/osu.Game/Modes/UI/HealthDisplay.cs index 0645d54b50..1892c6e593 100644 --- a/osu.Game/Modes/UI/HealthDisplay.cs +++ b/osu.Game/Modes/UI/HealthDisplay.cs @@ -14,6 +14,8 @@ namespace osu.Game.Modes.UI private Box background; private Box fill; + public BindableDouble Current = new BindableDouble(); + public HealthDisplay() { Children = new Drawable[] @@ -30,13 +32,12 @@ namespace osu.Game.Modes.UI Scale = new Vector2(0, 1), }, }; + + Current.ValueChanged += current_ValueChanged; } - public double Current; - - public void Set(double value) + private void current_ValueChanged(object sender, EventArgs e) { - Current = value; fill.ScaleTo(new Vector2((float)Current, 1), 200, EasingTypes.OutQuint); } } diff --git a/osu.Game/Modes/UI/ScoreOverlay.cs b/osu.Game/Modes/UI/ScoreOverlay.cs index fbdd75b97d..8fd070e9dd 100644 --- a/osu.Game/Modes/UI/ScoreOverlay.cs +++ b/osu.Game/Modes/UI/ScoreOverlay.cs @@ -63,7 +63,7 @@ namespace osu.Game.Modes.UI processor.TotalScore.ValueChanged += delegate { ScoreCounter?.Set((ulong)processor.TotalScore.Value); }; processor.Accuracy.ValueChanged += delegate { AccuracyCounter?.Set((float)processor.Accuracy.Value); }; processor.Combo.ValueChanged += delegate { ComboCounter?.Set((ulong)processor.Combo.Value); }; - processor.Health.ValueChanged += delegate { HealthDisplay?.Set(processor.Health.Value); }; + if (HealthDisplay != null) processor.Health.Weld(HealthDisplay.Current); } } }