diff --git a/osu.Game/Screens/SelectV2/BeatmapCarousel.cs b/osu.Game/Screens/SelectV2/BeatmapCarousel.cs index 52d5989c8f..679fec76f2 100644 --- a/osu.Game/Screens/SelectV2/BeatmapCarousel.cs +++ b/osu.Game/Screens/SelectV2/BeatmapCarousel.cs @@ -788,9 +788,11 @@ namespace osu.Game.Screens.SelectV2 private readonly DrawablePool setPanelPool = new DrawablePool(100); private readonly DrawablePool groupPanelPool = new DrawablePool(100); private readonly DrawablePool starsGroupPanelPool = new DrawablePool(11); + private readonly DrawablePool ranksGroupPanelPool = new DrawablePool(11); private void setupPools() { + AddInternal(ranksGroupPanelPool); AddInternal(starsGroupPanelPool); AddInternal(groupPanelPool); AddInternal(beatmapPanelPool); @@ -829,6 +831,9 @@ namespace osu.Game.Screens.SelectV2 case StarDifficultyGroupDefinition: return starsGroupPanelPool.Get(); + case RankDisplayGroupDefinition: + return ranksGroupPanelPool.Get(); + case GroupDefinition: return groupPanelPool.Get(); @@ -1085,6 +1090,11 @@ namespace osu.Game.Screens.SelectV2 /// public record StarDifficultyGroupDefinition(int Order, string Title, StarDifficulty Difficulty) : GroupDefinition(Order, Title); + /// + /// Defines a grouping header for a set of carousel items grouped by achieved rank. + /// + public record RankDisplayGroupDefinition(int Order, string Title, ScoreRank Rank) : GroupDefinition(Order, Title); + /// /// Used to represent a portion of a under a . /// The purpose of this model is to support splitting beatmap sets apart when the active grouping mode demands it.