From 98ab1f986272e89c0d092ec5cd01b726b74a4998 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 5 Feb 2020 16:35:07 +0900 Subject: [PATCH] Fix negative spinners --- .../Components/Timeline/TimelineHitObjectBlueprint.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineHitObjectBlueprint.cs b/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineHitObjectBlueprint.cs index 3de1cd3a4c..5a15cb42fa 100644 --- a/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineHitObjectBlueprint.cs +++ b/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineHitObjectBlueprint.cs @@ -156,6 +156,9 @@ private void updateState() [Resolved] private EditorBeatmap beatmap { get; set; } + [Resolved] + private IBeatSnapProvider beatSnapProvider { get; set; } + protected override void OnDrag(DragEvent e) { base.OnDrag(e); @@ -178,7 +181,12 @@ protected override void OnDrag(DragEvent e) break; case IHasEndTime endTimeHitObject: - endTimeHitObject.EndTime = time; + var snappedTime = beatSnapProvider.SnapTime(time); + + if (endTimeHitObject.EndTime == snappedTime || snappedTime <= hitObject.StartTime) + return; + + endTimeHitObject.EndTime = snappedTime; break; }