From 00867593950322e5dbf46b1756a29eb5ea7c71bf Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 15:23:22 +0900 Subject: [PATCH] Fix slider tracking state being set to `false` after slider end --- .../Objects/Drawables/DrawableSliderBall.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs index 47214f1e53..63e500d687 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs @@ -132,6 +132,9 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables { base.Update(); + if (Time.Current >= drawableSlider.HitObject.EndTime) + return; + // from the point at which the head circle is hit, this will be non-null. // it may be null if the head circle was missed. var headCircleHitAction = GetInitialHitAction(); @@ -153,9 +156,9 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables Tracking = // in valid time range - Time.Current >= drawableSlider.HitObject.StartTime && Time.Current < drawableSlider.HitObject.EndTime && + Time.Current >= drawableSlider.HitObject.StartTime // in valid position range - lastScreenSpaceMousePosition.HasValue && followCircleReceptor.ReceivePositionalInputAt(lastScreenSpaceMousePosition.Value) && + && lastScreenSpaceMousePosition.HasValue && followCircleReceptor.ReceivePositionalInputAt(lastScreenSpaceMousePosition.Value) && // valid action (actions?.Any(isValidTrackingAction) ?? false);