// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using osu.Framework.Bindables; using osu.Game.Rulesets.Scoring; using osu.Game.Skinning; namespace osu.Game.Screens.Play.HUD { public class SkinnableHealthDisplay : SkinnableDrawable { public Bindable Current { get; } = new BindableDouble(1) { MinValue = 0, MaxValue = 1 }; private HealthProcessor processor; public void BindHealthProcessor(HealthProcessor processor) { if (this.processor != null) throw new InvalidOperationException("Can't bind to a processor more than once"); this.processor = processor; Current.BindTo(processor.Health); } public SkinnableHealthDisplay() : base(new HUDSkinComponent(HUDSkinComponents.HealthDisplay), _ => new DefaultHealthDisplay()) { CentreComponent = false; } } }