Merge pull request #1223 from peppy/home-hides-overlays

Hide all overlays when home button is pressed
This commit is contained in:
Dean Herbert
2017-09-08 23:32:50 +09:00
committed by GitHub
2 changed files with 18 additions and 11 deletions

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);
} }