diff --git a/osu.Game/Screens/SelectV2/ISongSelect.cs b/osu.Game/Screens/SelectV2/ISongSelect.cs index 6c5954d82e..b733865748 100644 --- a/osu.Game/Screens/SelectV2/ISongSelect.cs +++ b/osu.Game/Screens/SelectV2/ISongSelect.cs @@ -50,5 +50,10 @@ namespace osu.Game.Screens.SelectV2 /// Present the provided score at the results screen. /// void PresentScore(ScoreInfo score); + + /// + /// Selects the provided beatmap and progresses song select to the next screen. + /// + void SelectAndStart(BeatmapInfo beatmap); } } diff --git a/osu.Game/Screens/SelectV2/SongSelect.cs b/osu.Game/Screens/SelectV2/SongSelect.cs index 92a8c20b78..202b6814df 100644 --- a/osu.Game/Screens/SelectV2/SongSelect.cs +++ b/osu.Game/Screens/SelectV2/SongSelect.cs @@ -455,6 +455,15 @@ namespace osu.Game.Screens.SelectV2 this.Push(new EditorLoader()); } + /// + /// Finalises selection on the given . + /// + public void SelectAndStart(BeatmapInfo beatmap) + { + Beatmap.Value = beatmaps.GetWorkingBeatmap(beatmap); + OnStart(); + } + public void Delete(BeatmapSetInfo beatmapSet) => dialogOverlay?.Push(new BeatmapDeleteDialog(beatmapSet)); public void ClearScores(BeatmapInfo beatmap) => dialogOverlay?.Push(new BeatmapClearScoresDialog(beatmap));