diff --git a/osu.Game/Beatmaps/Drawables/Panel.cs b/osu.Game/Beatmaps/Drawables/Panel.cs index cc8f5d4a55..f97a5260d8 100644 --- a/osu.Game/Beatmaps/Drawables/Panel.cs +++ b/osu.Game/Beatmaps/Drawables/Panel.cs @@ -17,9 +17,9 @@ namespace osu.Game.Beatmaps.Drawables public override bool RemoveWhenNotAlive => false; - public bool OnScreen; + public bool IsOnScreen; - public override bool IsAlive => OnScreen; + public override bool IsAlive => IsOnScreen && base.IsAlive; private Container nestedContainer; diff --git a/osu.Game/Screens/Select/CarouselContainer.cs b/osu.Game/Screens/Select/CarouselContainer.cs index b7ffbefec0..9ff950cc06 100644 --- a/osu.Game/Screens/Select/CarouselContainer.cs +++ b/osu.Game/Screens/Select/CarouselContainer.cs @@ -199,7 +199,7 @@ namespace osu.Game.Screens.Select Lifetime.AliveItems.ForEach(delegate (Panel p) { float panelPosY = p.Position.Y; - p.OnScreen = panelPosY >= Current - p.DrawHeight && panelPosY <= Current + drawHeight; + p.IsOnScreen = panelPosY >= Current - p.DrawHeight && panelPosY <= Current + drawHeight; }); int firstIndex = yPositions.BinarySearch(Current - Panel.MAX_HEIGHT); @@ -216,7 +216,7 @@ namespace osu.Game.Screens.Select { var panel = Lifetime[i]; - panel.OnScreen = true; + panel.IsOnScreen = true; float panelDrawY = panel.Position.Y - Current + panel.DrawHeight / 2; float dist = Math.Abs(1f - panelDrawY / halfHeight);