Add BackgroundMode stack.

This commit is contained in:
Dean Herbert
2016-10-05 16:35:10 +09:00
parent 3c01f59e00
commit 03aea04a00
7 changed files with 216 additions and 28 deletions

View File

@ -17,13 +17,17 @@ using OpenTK;
namespace osu.Game.GameModes.Menu
{
public class MainMenu : GameMode
public class MainMenu : OsuGameMode
{
private ButtonSystem buttons;
public override string Name => @"Main Menu";
protected override bool IsTopLevel => true;
//private AudioTrack bgm;
protected override BackgroundMode CreateBackground() => new BackgroundModeDefault();
public override void Load()
{
base.Load();
@ -64,27 +68,28 @@ namespace osu.Game.GameModes.Menu
};
}
protected override double OnSuspending(GameMode next)
protected override void OnSuspending(GameMode next)
{
base.OnSuspending(next);
const float length = 400;
buttons.State = ButtonSystem.MenuState.EnteringMode;
Content.FadeOut(length, EasingTypes.InSine);
Content.MoveTo(new Vector2(-800, 0), length, EasingTypes.InSine);
return base.OnSuspending(next);
}
protected override double OnResuming(GameMode last)
protected override void OnResuming(GameMode last)
{
base.OnResuming(last);
const float length = 300;
buttons.State = ButtonSystem.MenuState.TopLevel;
Content.FadeIn(length, EasingTypes.OutQuint);
Content.MoveTo(new Vector2(0, 0), length, EasingTypes.OutQuint);
return base.OnResuming(last);
}
}
}