mirror of
https://github.com/osukey/osukey.git
synced 2025-06-05 12:57:39 +09:00
Fix using the wrong slider's travel distance
This commit is contained in:
parent
03a9511399
commit
d8f77feddd
@ -64,23 +64,21 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Preprocessing
|
|||||||
}
|
}
|
||||||
|
|
||||||
Vector2 lastCursorPosition = lastObject.StackedPosition;
|
Vector2 lastCursorPosition = lastObject.StackedPosition;
|
||||||
float lastTravelDistance = 0;
|
|
||||||
|
|
||||||
var lastSlider = lastObject as Slider;
|
var lastSlider = lastObject as Slider;
|
||||||
if (lastSlider != null)
|
if (lastSlider != null)
|
||||||
{
|
{
|
||||||
computeSliderCursorPosition(lastSlider);
|
computeSliderCursorPosition(lastSlider);
|
||||||
lastCursorPosition = lastSlider.LazyEndPosition ?? lastCursorPosition;
|
lastCursorPosition = lastSlider.LazyEndPosition ?? lastCursorPosition;
|
||||||
lastTravelDistance = lastSlider.LazyTravelDistance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't need to jump to reach spinners
|
// Don't need to jump to reach spinners
|
||||||
if (!(BaseObject is Spinner))
|
if (!(BaseObject is Spinner))
|
||||||
JumpDistance = (BaseObject.StackedPosition * scalingFactor - lastCursorPosition * scalingFactor).Length;
|
JumpDistance = (BaseObject.StackedPosition * scalingFactor - lastCursorPosition * scalingFactor).Length;
|
||||||
|
|
||||||
// Todo: BUG!!! Last slider's travel distance is considered ONLY IF we ourselves are also sliders!
|
// Todo: BUG!!! Last slider's travel distance is considered ONLY IF we ourselves are also a slider!
|
||||||
if (BaseObject is Slider)
|
if (BaseObject is Slider)
|
||||||
TravelDistance = lastTravelDistance * scalingFactor;
|
TravelDistance = (lastSlider?.LazyTravelDistance ?? 0) * scalingFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setTimingValues()
|
private void setTimingValues()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user