diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index f9e080a93c..a7ed7fedf5 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -436,11 +436,15 @@ namespace osu.Game /// first beatmap from any ruleset. /// /// - public void PresentBeatmap(BeatmapSetInfo beatmap, Predicate difficultyCriteria = null) + public void PresentBeatmap(IBeatmapSetInfo beatmap, Predicate difficultyCriteria = null) { - var databasedSet = beatmap.OnlineBeatmapSetID != null - ? BeatmapManager.QueryBeatmapSet(s => s.OnlineBeatmapSetID == beatmap.OnlineBeatmapSetID) - : BeatmapManager.QueryBeatmapSet(s => s.Hash == beatmap.Hash); + BeatmapSetInfo databasedSet = null; + + if (beatmap.OnlineID > 0) + databasedSet = BeatmapManager.QueryBeatmapSet(s => s.OnlineBeatmapSetID == beatmap.OnlineID); + + if (beatmap is BeatmapSetInfo localBeatmap) + databasedSet ??= BeatmapManager.QueryBeatmapSet(s => s.Hash == localBeatmap.Hash); if (databasedSet == null) {