Centralise track handling

This commit is contained in:
Dean Herbert
2019-10-08 12:03:42 +09:00
parent c3d56088d8
commit 449e53ee6d
3 changed files with 19 additions and 24 deletions

View File

@ -47,7 +47,7 @@ namespace osu.Game.Screens.Menu
protected Bindable<bool> MenuMusic;
protected Track Track;
protected Track Track { get; private set; }
protected WorkingBeatmap IntroBeatmap;
@ -57,6 +57,13 @@ namespace osu.Game.Screens.Menu
protected override BackgroundScreen CreateBackground() => new BackgroundScreenBlack();
protected void StartTrack()
{
// Only start the current track if it is the menu music. A beatmap's track is started when entering the Main Menu.
if (MenuMusic.Value)
Track.Restart();
}
[BackgroundDependencyLoader]
private void load(OsuConfigManager config, SkinManager skinManager, BeatmapManager beatmaps, Framework.Game game)
{
@ -136,6 +143,9 @@ namespace osu.Game.Screens.Menu
if (!resuming)
{
Beatmap.Value = IntroBeatmap;
IntroBeatmap = null;
logo.MoveTo(new Vector2(0.5f));
logo.ScaleTo(Vector2.One);
logo.Hide();
@ -156,6 +166,12 @@ namespace osu.Game.Screens.Menu
}
}
public override void OnSuspending(IScreen next)
{
base.OnSuspending(next);
Track = null;
}
private MainMenu mainMenu;
protected void PrepareMenuLoad()