mirror of
https://github.com/ppy/osu
synced 2025-03-20 09:57:01 +00:00
Fix crash when there's no beatmaps
This commit is contained in:
parent
2c6327fca9
commit
ca1f89f2cf
@ -67,6 +67,7 @@ namespace osu.Game.Screens.Menu
|
||||
private TrackManager trackManager;
|
||||
private BeatmapInfo beatmap;
|
||||
private WorkingBeatmap song;
|
||||
private int choosableBeatmapsetAmmout;
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuGameBase game, AudioManager audio, OsuConfigManager config, BeatmapDatabase beatmaps)
|
||||
@ -76,10 +77,14 @@ namespace osu.Game.Screens.Menu
|
||||
if (!menuMusic)
|
||||
{
|
||||
trackManager = game.Audio.Track;
|
||||
beatmap = beatmaps.GetWithChildren<BeatmapSetInfo>(RNG.Next(beatmaps.Query<BeatmapSetInfo>().Count() - 1)).Beatmaps[0];
|
||||
choosableBeatmapsetAmmout = beatmaps.Query<BeatmapSetInfo>().Count();
|
||||
if (choosableBeatmapsetAmmout > 0)
|
||||
{
|
||||
beatmap = beatmaps.GetWithChildren<BeatmapSetInfo>(RNG.Next(1, choosableBeatmapsetAmmout)).Beatmaps[0];
|
||||
song = beatmaps.GetWorkingBeatmap(beatmap);
|
||||
Beatmap = song;
|
||||
}
|
||||
}
|
||||
|
||||
bgm = audio.Track.Get(@"circles");
|
||||
bgm.Looping = true;
|
||||
@ -100,7 +105,7 @@ namespace osu.Game.Screens.Menu
|
||||
{
|
||||
if(menuMusic)
|
||||
bgm.Start();
|
||||
else
|
||||
else if (song != null)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
@ -115,7 +120,7 @@ namespace osu.Game.Screens.Menu
|
||||
|
||||
Scheduler.AddDelayed(delegate
|
||||
{
|
||||
if (!menuMusic)
|
||||
if (!menuMusic && song != null)
|
||||
Task.Run(() => song.Track.Start());
|
||||
DidLoadMenu = true;
|
||||
Push(mainMenu);
|
||||
|
Loading…
Reference in New Issue
Block a user