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

View File

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