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:
commit
5fb90f0e96
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user