1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-05 17:33:15 +08:00

Hide all overlays when home button is pressed

This commit is contained in:
Dean Herbert 2017-09-08 16:15:41 +09:00
parent c2b16dae10
commit 80c35801a6

View File

@ -245,7 +245,11 @@ namespace osu.Game
LoadComponentAsync(Toolbar = new Toolbar LoadComponentAsync(Toolbar = new Toolbar
{ {
Depth = -4, Depth = -4,
OnHome = delegate { intro?.ChildScreen?.MakeCurrent(); }, OnHome = delegate
{
hideAllOverlays();
intro?.ChildScreen?.MakeCurrent();
},
}, overlayContent.Add); }, overlayContent.Add);
settings.StateChanged += delegate settings.StateChanged += delegate
@ -310,6 +314,16 @@ namespace osu.Game
private OsuScreen currentScreen; private OsuScreen currentScreen;
private FrameworkConfigManager frameworkConfig; private FrameworkConfigManager frameworkConfig;
private void hideAllOverlays()
{
settings.State = Visibility.Hidden;
chat.State = Visibility.Hidden;
direct.State = Visibility.Hidden;
social.State = Visibility.Hidden;
userProfile.State = Visibility.Hidden;
notificationOverlay.State = Visibility.Hidden;
}
private void screenChanged(Screen newScreen) private void screenChanged(Screen newScreen)
{ {
currentScreen = newScreen as OsuScreen; currentScreen = newScreen as OsuScreen;
@ -323,19 +337,12 @@ namespace osu.Game
//central game screen change logic. //central game screen change logic.
if (!currentScreen.ShowOverlays) if (!currentScreen.ShowOverlays)
{ {
settings.State = Visibility.Hidden; hideAllOverlays();
Toolbar.State = Visibility.Hidden;
musicController.State = Visibility.Hidden; musicController.State = Visibility.Hidden;
chat.State = Visibility.Hidden; Toolbar.State = Visibility.Hidden;
direct.State = Visibility.Hidden;
social.State = Visibility.Hidden;
userProfile.State = Visibility.Hidden;
notificationOverlay.State = Visibility.Hidden;
} }
else else
{
Toolbar.State = Visibility.Visible; Toolbar.State = Visibility.Visible;
}
ScreenChanged?.Invoke(newScreen); ScreenChanged?.Invoke(newScreen);
} }