diff --git a/osu.Game/Screens/SelectV2/CarouselItem.cs b/osu.Game/Screens/SelectV2/CarouselItem.cs
index 4636e8a32f..2cb96a3d7f 100644
--- a/osu.Game/Screens/SelectV2/CarouselItem.cs
+++ b/osu.Game/Screens/SelectV2/CarouselItem.cs
@@ -2,7 +2,6 @@
// See the LICENCE file in the repository root for full licence text.
using System;
-using osu.Framework.Bindables;
namespace osu.Game.Screens.SelectV2
{
@@ -10,9 +9,9 @@ namespace osu.Game.Screens.SelectV2
/// Represents a single display item for display in a .
/// This is used to house information related to the attached model that helps with display and tracking.
///
- public abstract class CarouselItem : IComparable
+ public sealed class CarouselItem : IComparable
{
- public readonly BindableBool Selected = new BindableBool();
+ public const float DEFAULT_HEIGHT = 40;
///
/// The model this item is representing.
@@ -20,16 +19,27 @@ namespace osu.Game.Screens.SelectV2
public readonly object Model;
///
- /// The current Y position in the carousel. This is managed by and should not be set manually.
+ /// The current Y position in the carousel.
+ /// This is managed by and should not be set manually.
///
public double CarouselYPosition { get; set; }
///
- /// The height this item will take when displayed.
+ /// The height this item will take when displayed. Defaults to .
///
- public abstract float DrawHeight { get; }
+ public float DrawHeight { get; set; } = DEFAULT_HEIGHT;
- protected CarouselItem(object model)
+ ///
+ /// Whether this item should be a valid target for user group selection hotkeys.
+ ///
+ public bool IsGroupSelectionTarget { get; set; }
+
+ ///
+ /// Whether this item is visible or collapsed (hidden).
+ ///
+ public bool IsVisible { get; set; } = true;
+
+ public CarouselItem(object model)
{
Model = model;
}