mirror of
https://github.com/osukey/osukey.git
synced 2025-08-03 22:56:36 +09:00
Add statefulness to MenuCursor.
This commit is contained in:
@ -220,7 +220,7 @@ namespace osu.Game
|
||||
}
|
||||
};
|
||||
|
||||
Cursor.Alpha = 0;
|
||||
Cursor.State = Visibility.Hidden;
|
||||
}
|
||||
|
||||
private bool globalHotkeyPressed(InputState state, KeyDownEventArgs args)
|
||||
@ -264,10 +264,20 @@ namespace osu.Game
|
||||
|
||||
private Container overlayContent;
|
||||
|
||||
private OsuScreen currentScreen;
|
||||
|
||||
private void screenChanged(Screen newScreen)
|
||||
{
|
||||
currentScreen = newScreen as OsuScreen;
|
||||
|
||||
if (currentScreen == null)
|
||||
{
|
||||
Exit();
|
||||
return;
|
||||
}
|
||||
|
||||
//central game mode change logic.
|
||||
if ((newScreen as OsuScreen)?.ShowOverlays != true)
|
||||
if (currentScreen.ShowOverlays != true)
|
||||
{
|
||||
Toolbar.State = Visibility.Hidden;
|
||||
musicController.State = Visibility.Hidden;
|
||||
@ -278,13 +288,7 @@ namespace osu.Game
|
||||
Toolbar.State = Visibility.Visible;
|
||||
}
|
||||
|
||||
if (newScreen is MainMenu)
|
||||
Cursor.FadeIn(100);
|
||||
|
||||
ScreenChanged?.Invoke(newScreen);
|
||||
|
||||
if (newScreen == null)
|
||||
Exit();
|
||||
}
|
||||
|
||||
protected override bool OnExiting()
|
||||
@ -308,6 +312,8 @@ namespace osu.Game
|
||||
|
||||
if (intro?.ChildScreen != null)
|
||||
intro.ChildScreen.Padding = new MarginPadding { Top = Toolbar.Position.Y + Toolbar.DrawHeight };
|
||||
|
||||
Cursor.State = currentScreen == null || currentScreen.HasLocalCursorDisplayed ? Visibility.Hidden : Visibility.Visible;
|
||||
}
|
||||
|
||||
private void screenAdded(Screen newScreen)
|
||||
|
Reference in New Issue
Block a user