1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 11:12:54 +08:00

Simplify rewind handling

This commit is contained in:
Dean Herbert 2020-07-21 19:21:30 +09:00
parent 947f4e0d4c
commit 7f2ae694cc

View File

@ -253,25 +253,26 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
int spins = (int)(Disc.CumulativeRotation / 360);
if (spins < wholeSpins)
{
// rewinding, silently handle
wholeSpins = spins;
return;
}
while (wholeSpins != spins)
{
if (wholeSpins < spins)
{
var tick = ticks.FirstOrDefault(t => !t.IsHit);
var tick = ticks.FirstOrDefault(t => !t.IsHit);
if (tick != null)
{
tick.TriggerResult(HitResult.Great);
if (tick is DrawableSpinnerBonusTick)
bonusDisplay.SetBonusCount(spins - Spinner.SpinsRequired);
}
wholeSpins++;
}
else
// tick may be null if we've hit the spin limit.
if (tick != null)
{
wholeSpins--;
tick.TriggerResult(HitResult.Great);
if (tick is DrawableSpinnerBonusTick)
bonusDisplay.SetBonusCount(spins - Spinner.SpinsRequired);
}
wholeSpins++;
}
}