Make sure intro can't be exited unless the main menu has displayed once.

This commit is contained in:
Dean Herbert
2016-10-07 18:58:20 +09:00
parent c5228b63cb
commit 08728b84d1
8 changed files with 26 additions and 15 deletions

View File

@ -15,6 +15,8 @@ namespace osu.Game.GameModes.Menu
class Intro : OsuGameMode
{
private OsuLogo logo;
private bool didLoadMenu;
protected override BackgroundMode CreateBackground() => new BackgroundModeEmpty();
public override void Load()
@ -52,6 +54,7 @@ namespace osu.Game.GameModes.Menu
Game.Scheduler.AddDelayed(delegate
{
didLoadMenu = true;
Push(new MainMenu());
}, 2900);
@ -67,6 +70,12 @@ namespace osu.Game.GameModes.Menu
base.OnSuspending(next);
}
protected override bool OnExiting(GameMode next)
{
//cancel exiting if we haven't loaded the menu yet.
return !didLoadMenu;
}
protected override void OnResuming(GameMode last)
{
//we are just an intro. if we are resumed, we just want to exit after a short delay (to allow the last mode to transition out).