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

refactor: hide trigger presence from content

This commit is contained in:
tsrk 2023-02-13 10:59:10 +00:00
parent 11d0e185b8
commit aa2e0028ab
No known key found for this signature in database
GPG Key ID: EBD46BB3049B56D6

View File

@ -14,6 +14,10 @@ namespace osu.Game.Screens.Play
protected Bindable<bool> IsCountingBindable = new BindableBool(true);
private readonly Container content;
protected override Container<Drawable> Content => content;
protected Bindable<int> PressesCount = new BindableInt
{
MinValue = 0
@ -31,6 +35,21 @@ namespace osu.Game.Screens.Play
private set => PressesCount.Value = value;
}
protected KeyCounter(Trigger trigger)
{
InternalChildren = new Drawable[]
{
content = new Container
{
RelativeSizeAxes = Axes.Both
},
CounterTrigger = trigger,
};
CounterTrigger.Target = this;
Name = trigger.Name;
}
protected Bindable<bool> IsLit = new BindableBool();
public void Increment()
@ -49,21 +68,8 @@ namespace osu.Game.Screens.Play
CountPresses--;
}
protected override void LoadComplete()
{
Add(CounterTrigger);
base.LoadComplete();
}
protected override bool Handle(UIEvent e) => CounterTrigger.TriggerEvent(e);
protected KeyCounter(Trigger trigger)
{
CounterTrigger = trigger;
trigger.Target = this;
Name = trigger.Name;
}
public abstract partial class Trigger : Component
{
private KeyCounter? target;