// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using osu.Game.Rulesets.Judgements; using osu.Game.Rulesets.Osu.Judgements; using osu.Game.Rulesets.Scoring; using osuTK; namespace osu.Game.Rulesets.Osu.Objects { public class SliderTailCircle : SliderEndCircle { /// /// Whether to treat this as a normal for judgement purposes. /// If false, this will be judged as a instead. /// public bool ClassicSliderBehaviour; public override Vector2 Position { get => Slider.EndPosition; set => throw new NotImplementedException(); } public SliderTailCircle(Slider slider) : base(slider) { } public override Judgement CreateJudgement() => ClassicSliderBehaviour ? new LegacyTailJudgement() : new TailJudgement(); public class LegacyTailJudgement : OsuJudgement { public override HitResult MaxResult => HitResult.SmallTickHit; } public class TailJudgement : SliderEndJudgement { public override HitResult MaxResult => HitResult.SliderTailHit; public override HitResult MinResult => HitResult.IgnoreMiss; } } }