From 463f6060046a804f7d4f8c2fd79f2410c578fee6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 30 Sep 2016 13:31:05 +0900 Subject: [PATCH] Add delay for exit process. --- osu.Game/GameModes/Menu/ButtonSystem.cs | 9 +++++--- osu.Game/GameModes/Menu/MainMenu.cs | 28 +++++++++++++++---------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/osu.Game/GameModes/Menu/ButtonSystem.cs b/osu.Game/GameModes/Menu/ButtonSystem.cs index 8a4497a27f..37f5f9371b 100644 --- a/osu.Game/GameModes/Menu/ButtonSystem.cs +++ b/osu.Game/GameModes/Menu/ButtonSystem.cs @@ -36,6 +36,8 @@ namespace osu.Game.GameModes.Menu const float button_width = 180f; const float wedge_width = 25.6f; + public const int EXIT_DELAY = 3000; + private OsuLogo osuLogo; private Drawable iconFacade; private Container buttonArea; @@ -221,9 +223,10 @@ namespace osu.Game.GameModes.Menu b.State = Button.ButtonState.Contracted; osuLogo.Delay(150); - osuLogo.ScaleTo(1f, 4000); - osuLogo.RotateTo(20, 4000); - osuLogo.FadeOut(4000); + + osuLogo.ScaleTo(1f, EXIT_DELAY * 1.5f); + osuLogo.RotateTo(20, EXIT_DELAY * 1.5f); + osuLogo.FadeOut(EXIT_DELAY); break; } diff --git a/osu.Game/GameModes/Menu/MainMenu.cs b/osu.Game/GameModes/Menu/MainMenu.cs index 0c7018c258..234bcd3e00 100644 --- a/osu.Game/GameModes/Menu/MainMenu.cs +++ b/osu.Game/GameModes/Menu/MainMenu.cs @@ -21,16 +21,16 @@ namespace osu.Game.GameModes.Menu //private AudioTrackBass bgm; - public override void Load() - { - base.Load(); + public override void Load() + { + base.Load(); - AudioSample welcome = Game.Audio.Sample.Get(@"welcome"); + AudioSample welcome = Game.Audio.Sample.Get(@"welcome"); welcome.Play(); - Children = new Drawable[] - { - new ButtonSystem() + Children = new Drawable[] + { + new ButtonSystem() { OnChart = delegate { Push(new ChartListing()); }, OnDirect = delegate { Push(new OnlineListing()); }, @@ -38,10 +38,16 @@ namespace osu.Game.GameModes.Menu OnSolo = delegate { Push(new SongSelectPlay()); }, OnMulti = delegate { Push(new Lobby()); }, OnTest = delegate { Push(new TestBrowser()); }, - OnExit = delegate { Game.Host.Exit(); }, - OnSettings = delegate { (Game as OsuGame).Options.PoppedOut = !(Game as OsuGame).Options.PoppedOut; }, + OnExit = delegate { + Game.Scheduler.AddDelayed(delegate { + Game.Host.Exit(); + }, ButtonSystem.EXIT_DELAY); + }, + OnSettings = delegate { + Game.Options.PoppedOut = !Game.Options.PoppedOut; + }, } - }; - } + }; + } } }