1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-30 06:52:53 +08:00

Merge pull request #4077 from ekrctb/hold-for-menu-visibility

Always show "hold for menu"
This commit is contained in:
Dean Herbert 2019-01-17 17:24:11 +09:00 committed by GitHub
commit 5fb90f0e96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,8 +24,6 @@ namespace osu.Game.Screens.Play
{ {
private const int duration = 100; private const int duration = 100;
private readonly Container content;
public readonly KeyCounterCollection KeyCounter; public readonly KeyCounterCollection KeyCounter;
public readonly RollingCounter<int> ComboCounter; public readonly RollingCounter<int> ComboCounter;
public readonly ScoreCounter ScoreCounter; public readonly ScoreCounter ScoreCounter;
@ -37,6 +35,7 @@ namespace osu.Game.Screens.Play
public readonly PlayerSettingsOverlay PlayerSettingsOverlay; public readonly PlayerSettingsOverlay PlayerSettingsOverlay;
private Bindable<bool> showHud; private Bindable<bool> showHud;
private readonly Container visibilityContainer;
private readonly BindableBool replayLoaded = new BindableBool(); private readonly BindableBool replayLoaded = new BindableBool();
private static bool hasShownNotificationOnce; private static bool hasShownNotificationOnce;
@ -45,34 +44,35 @@ namespace osu.Game.Screens.Play
{ {
RelativeSizeAxes = Axes.Both; RelativeSizeAxes = Axes.Both;
Add(content = new Container Children = new Drawable[]
{ {
RelativeSizeAxes = Axes.Both, visibilityContainer = new Container {
AlwaysPresent = true, // The hud may be hidden but certain elements may need to still be updated RelativeSizeAxes = Axes.Both,
Children = new Drawable[] AlwaysPresent = true, // The hud may be hidden but certain elements may need to still be updated
Children = new Drawable[] {
ComboCounter = CreateComboCounter(),
ScoreCounter = CreateScoreCounter(),
AccuracyCounter = CreateAccuracyCounter(),
HealthDisplay = CreateHealthDisplay(),
Progress = CreateProgress(),
ModDisplay = CreateModsContainer(),
PlayerSettingsOverlay = CreatePlayerSettingsOverlay(),
}
},
new FillFlowContainer
{ {
ComboCounter = CreateComboCounter(), Anchor = Anchor.BottomRight,
ScoreCounter = CreateScoreCounter(), Origin = Anchor.BottomRight,
AccuracyCounter = CreateAccuracyCounter(), Position = -new Vector2(5, TwoLayerButton.SIZE_RETRACTED.Y),
HealthDisplay = CreateHealthDisplay(), AutoSizeAxes = Axes.Both,
Progress = CreateProgress(), Direction = FillDirection.Vertical,
ModDisplay = CreateModsContainer(), Children = new Drawable[]
PlayerSettingsOverlay = CreatePlayerSettingsOverlay(),
new FillFlowContainer
{ {
Anchor = Anchor.BottomRight, KeyCounter = CreateKeyCounter(adjustableClock as IFrameBasedClock),
Origin = Anchor.BottomRight, HoldToQuit = CreateHoldForMenuButton(),
Position = -new Vector2(5, TwoLayerButton.SIZE_RETRACTED.Y),
AutoSizeAxes = Axes.Both,
Direction = FillDirection.Vertical,
Children = new Drawable[]
{
KeyCounter = CreateKeyCounter(adjustableClock as IFrameBasedClock),
HoldToQuit = CreateHoldForMenuButton(),
}
} }
} }
}); };
BindProcessor(scoreProcessor); BindProcessor(scoreProcessor);
BindRulesetContainer(rulesetContainer); BindRulesetContainer(rulesetContainer);
@ -91,7 +91,7 @@ namespace osu.Game.Screens.Play
private void load(OsuConfigManager config, NotificationOverlay notificationOverlay) private void load(OsuConfigManager config, NotificationOverlay notificationOverlay)
{ {
showHud = config.GetBindable<bool>(OsuSetting.ShowInterface); showHud = config.GetBindable<bool>(OsuSetting.ShowInterface);
showHud.ValueChanged += hudVisibility => content.FadeTo(hudVisibility ? 1 : 0, duration); showHud.ValueChanged += hudVisibility => visibilityContainer.FadeTo(hudVisibility ? 1 : 0, duration);
showHud.TriggerChange(); showHud.TriggerChange();
if (!showHud && !hasShownNotificationOnce) if (!showHud && !hasShownNotificationOnce)