From cee8bb50c927668e81c629cacb709cda88cab0f9 Mon Sep 17 00:00:00 2001 From: ColdVolcano Date: Wed, 24 Jan 2018 15:34:52 -0600 Subject: [PATCH] Fix reference points being wrongly selected --- .../Objects/Drawables/DrawableRepeatPoint.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableRepeatPoint.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableRepeatPoint.cs index b6a07aa4e3..adf5350996 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableRepeatPoint.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableRepeatPoint.cs @@ -31,7 +31,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables Blending = BlendingMode.Additive; Origin = Anchor.Centre; - + Children = new Drawable[] { new SpriteIcon @@ -80,7 +80,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables var curve = drawableSlider.CurrentCurve; if (curve.Count < 3 || curve.All(p => p == Position)) return; - var referencePoint = curve[isEndRepeat ? curve.IndexOf(Position) - 1 : curve.LastIndexOf(Position) + 1]; + var referencePoint = curve[isEndRepeat ? curve.IndexOf(Position, curve.Count - 2) - 1 : curve[0] == curve[1] ? 2 : 1]; Rotation = MathHelper.RadiansToDegrees((float)Math.Atan2(referencePoint.Y - Position.Y, referencePoint.X - Position.X)); } }