1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-16 05:03:02 +08:00

Merge branch 'health-bar-hud-overlay-dependency' into skin-serialisation

This commit is contained in:
Dean Herbert 2021-05-12 12:54:37 +09:00
commit 4aad7b96ea

View File

@ -17,7 +17,7 @@ namespace osu.Game.Screens.Play.HUD
/// </summary>
public abstract class HealthDisplay : CompositeDrawable
{
private Bindable<bool> showHealthbar;
private readonly Bindable<bool> showHealthbar = new Bindable<bool>(true);
[Resolved]
protected HealthProcessor HealthProcessor { get; private set; }
@ -32,23 +32,21 @@ namespace osu.Game.Screens.Play.HUD
{
}
[BackgroundDependencyLoader(true)]
private void load(HUDOverlay hud)
{
Current.BindTo(HealthProcessor.Health);
if (hud != null)
{
showHealthbar = hud.ShowHealthbar.GetBoundCopy();
showHealthbar.BindValueChanged(healthBar => this.FadeTo(healthBar.NewValue ? 1 : 0, HUDOverlay.FADE_DURATION, HUDOverlay.FADE_EASING), true);
}
}
[Resolved(canBeNull: true)]
private HUDOverlay hudOverlay { get; set; }
protected override void LoadComplete()
{
base.LoadComplete();
Current.BindTo(HealthProcessor.Health);
HealthProcessor.NewJudgement += onNewJudgement;
if (hudOverlay != null)
showHealthbar.BindTo(hudOverlay.ShowHealthbar);
// this probably shouldn't be operating on `this.`
showHealthbar.BindValueChanged(healthBar => this.FadeTo(healthBar.NewValue ? 1 : 0, HUDOverlay.FADE_DURATION, HUDOverlay.FADE_EASING), true);
}
private void onNewJudgement(JudgementResult judgement)