diff --git a/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs b/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs index 8c1378cae4..11cc6122ac 100644 --- a/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs +++ b/osu.Game/Beatmaps/Drawables/BeatmapGroup.cs @@ -17,7 +17,7 @@ namespace osu.Game.Beatmaps.Drawables /// /// Fires when one of our difficulties was selected. Will fire on first expand. /// - public Action SelectionChanged; + public Action SelectionChanged; /// /// Fires when one of our difficulties is clicked when already selected. Should start playing the map. @@ -89,8 +89,6 @@ namespace osu.Game.Beatmaps.Drawables //we want to make sure one of our children is selected in the case none have been selected yet. if (SelectedPanel == null) BeatmapPanels.First().State = PanelSelectedState.Selected; - else - SelectionChanged?.Invoke(this, SelectedPanel.Beatmap); } private void panelGainedSelection(BeatmapPanel panel) @@ -106,7 +104,7 @@ namespace osu.Game.Beatmaps.Drawables finally { State = BeatmapGroupState.Expanded; - SelectionChanged?.Invoke(this, panel.Beatmap); + SelectionChanged?.Invoke(this, SelectedPanel); } } } diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs b/osu.Game/Screens/Select/BeatmapCarousel.cs index dbaf20ddb8..c2c5aca0de 100644 --- a/osu.Game/Screens/Select/BeatmapCarousel.cs +++ b/osu.Game/Screens/Select/BeatmapCarousel.cs @@ -120,7 +120,7 @@ namespace osu.Game.Screens.Select public void RemoveBeatmap(BeatmapSetInfo info) => removeGroup(groups.Find(b => b.BeatmapSet.ID == info.ID)); - public Action SelectionChanged; + public Action SelectionChanged; public Action StartRequested; @@ -230,7 +230,7 @@ namespace osu.Game.Screens.Select return new BeatmapGroup(beatmapSet, database) { - SelectionChanged = SelectionChanged, + SelectionChanged = (g, p) => selectGroup(g, p), StartRequested = b => StartRequested?.Invoke(), State = BeatmapGroupState.Collapsed }; @@ -345,6 +345,8 @@ namespace osu.Game.Screens.Select float selectedY = computeYPositions(animated); ScrollTo(selectedY, animated); + + SelectionChanged?.Invoke(panel.Beatmap); } protected override bool OnKeyDown(InputState state, KeyDownEventArgs args) diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs index 182158fa5d..5d64525f68 100644 --- a/osu.Game/Screens/Select/SongSelect.cs +++ b/osu.Game/Screens/Select/SongSelect.cs @@ -300,7 +300,7 @@ namespace osu.Game.Screens.Select /// /// selection has been changed as the result of interaction with the carousel. /// - private void selectionChanged(BeatmapGroup group, BeatmapInfo beatmap) + private void selectionChanged(BeatmapInfo beatmap) { bool beatmapSetChange = false;