Improve integrity of song select bind/change logic

This commit is contained in:
Dean Herbert
2018-07-17 22:20:19 +09:00
parent 5fe634a3b6
commit f1c3fbe644
3 changed files with 33 additions and 26 deletions

View File

@ -197,7 +197,13 @@ namespace osu.Game
return;
}
Beatmap.Value = BeatmapManager.GetWorkingBeatmap(beatmap.Beatmaps.First());
var databasedSet = BeatmapManager.QueryBeatmapSet(s => s.OnlineBeatmapSetID == beatmap.OnlineBeatmapSetID);
// Use first beatmap available for current ruleset, else switch ruleset.
var first = databasedSet.Beatmaps.FirstOrDefault(b => b.Ruleset == ruleset.Value) ?? databasedSet.Beatmaps.First();
ruleset.Value = first.Ruleset;
Beatmap.Value = BeatmapManager.GetWorkingBeatmap(first);
}
switch (currentScreen)