diff --git a/osu.Game/Screens/SelectV2/Carousel.cs b/osu.Game/Screens/SelectV2/Carousel.cs
index a19c86d90b..42c272401a 100644
--- a/osu.Game/Screens/SelectV2/Carousel.cs
+++ b/osu.Game/Screens/SelectV2/Carousel.cs
@@ -51,6 +51,11 @@ namespace osu.Game.Screens.SelectV2
///
public float DistanceOffscreenToPreload { get; set; }
+ ///
+ /// Vertical space between panel layout. Negative value can be used to create an overlapping effect.
+ ///
+ protected float SpacingBetweenPanels { get; set; } = -5;
+
///
/// When a new request arrives to change filtering, the number of milliseconds to wait before performing the filter.
/// Regardless of any external debouncing, this is a safety measure to avoid triggering too many threaded operations.
@@ -207,13 +212,12 @@ namespace osu.Game.Screens.SelectV2
private async Task updateYPositions(IEnumerable carouselItems, CancellationToken cancellationToken) => await Task.Run(() =>
{
- const float spacing = 10;
float yPos = 0;
foreach (var item in carouselItems)
{
item.CarouselYPosition = yPos;
- yPos += item.DrawHeight + spacing;
+ yPos += item.DrawHeight + SpacingBetweenPanels;
}
}, cancellationToken).ConfigureAwait(false);