1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-20 20:33:21 +08:00

Fix key counter not updating activation state on initial load

This commit is contained in:
Salman Alshamrani 2024-11-17 09:56:19 -05:00
parent bf2e0ed005
commit b014bfea3e
2 changed files with 15 additions and 0 deletions

View File

@ -34,6 +34,11 @@ namespace osu.Game.Screens.Play.HUD
/// </summary>
public IBindable<int> ActivationCount => activationCount;
/// <summary>
/// Whether this <see cref="InputTrigger"/> is currently active.
/// </summary>
public bool IsActive { get; private set; }
/// <summary>
/// Whether any activation or deactivation of this <see cref="InputTrigger"/> impacts its <see cref="ActivationCount"/>
/// </summary>
@ -49,6 +54,7 @@ namespace osu.Game.Screens.Play.HUD
if (forwardPlayback && isCounting.Value)
activationCount.Value++;
IsActive = true;
OnActivate?.Invoke(forwardPlayback);
}
@ -57,6 +63,7 @@ namespace osu.Game.Screens.Play.HUD
if (!forwardPlayback && isCounting.Value)
activationCount.Value--;
IsActive = false;
OnDeactivate?.Invoke(forwardPlayback);
}
}

View File

@ -36,6 +36,14 @@ namespace osu.Game.Screens.Play.HUD
Trigger.OnDeactivate += Deactivate;
}
protected override void LoadComplete()
{
base.LoadComplete();
if (Trigger.IsActive)
Activate();
}
protected virtual void Activate(bool forwardPlayback = true)
{
isActive.Value = true;