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;