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