Expose HUD state via `Player`

This commit is contained in:
Dean Herbert 2022-10-12 15:11:52 +09:00
parent a10fda2843
commit d2d589a156
2 changed files with 9 additions and 1 deletions

View File

@ -11,6 +11,7 @@
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Scoring;
using osu.Game.Rulesets.UI;
using osu.Game.Screens.Play;
using osu.Game.Skinning;
using osuTK.Graphics;
@ -41,7 +42,7 @@ public CatchComboDisplay()
}
[BackgroundDependencyLoader(true)]
private void load(DrawableRuleset drawableRuleset)
private void load(DrawableRuleset drawableRuleset, HUDOverlay hud)
{
hudVisibilityMode = config.GetBindable<HUDVisibilityMode>(OsuSetting.HUDVisibilityMode);

View File

@ -94,6 +94,11 @@ public abstract class Player : ScreenWithBeatmapBackground, ISamplePlaybackDisab
public int RestartCount;
/// <summary>
/// Whether the <see cref="HUDOverlay"/> is currently visible.
/// </summary>
public IBindable<bool> ShowingOverlayComponents = new Bindable<bool>();
[Resolved]
private ScoreManager scoreManager { get; set; }
@ -1015,6 +1020,8 @@ public override void OnEntering(ScreenTransitionEvent e)
});
HUDOverlay.IsPlaying.BindTo(localUserPlaying);
ShowingOverlayComponents.BindTo(HUDOverlay.ShowHud);
DimmableStoryboard.IsBreakTime.BindTo(breakTracker.IsBreakTime);
DimmableStoryboard.StoryboardReplacesBackground.BindTo(storyboardReplacesBackground);