1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-28 19:52:57 +08:00

Fix catcher additive sprite rewinding and remove unnecessary update code

This commit is contained in:
Dean Herbert 2019-09-13 22:44:40 +09:00
parent efadbefc3b
commit 82561aa44a

View File

@ -1,4 +1,4 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using System; using System;
@ -199,7 +199,6 @@ namespace osu.Game.Rulesets.Catch.UI
additive.Anchor = Anchor; additive.Anchor = Anchor;
additive.OriginPosition = additive.OriginPosition + new Vector2(DrawWidth / 2, 0); // also temporary to align sprite correctly. additive.OriginPosition = additive.OriginPosition + new Vector2(DrawWidth / 2, 0); // also temporary to align sprite correctly.
additive.LifetimeStart = Clock.CurrentTime;
additive.Position = Position; additive.Position = Position;
additive.Scale = Scale; additive.Scale = Scale;
additive.Colour = HyperDashing ? Color4.Red : Color4.White; additive.Colour = HyperDashing ? Color4.Red : Color4.White;
@ -208,7 +207,8 @@ namespace osu.Game.Rulesets.Catch.UI
AdditiveTarget.Add(additive); AdditiveTarget.Add(additive);
additive.FadeTo(0.4f).FadeOut(800, Easing.OutQuint).Expire(); additive.FadeTo(0.4f).FadeOut(800, Easing.OutQuint);
additive.Expire(true);
Scheduler.AddDelayed(beginTrail, HyperDashing ? 25 : 50); Scheduler.AddDelayed(beginTrail, HyperDashing ? 25 : 50);
} }
@ -303,6 +303,7 @@ namespace osu.Game.Rulesets.Catch.UI
{ {
this.FadeColour(Color4.White, hyper_dash_transition_length, Easing.OutQuint); this.FadeColour(Color4.White, hyper_dash_transition_length, Easing.OutQuint);
this.FadeTo(1, hyper_dash_transition_length, Easing.OutQuint); this.FadeTo(1, hyper_dash_transition_length, Easing.OutQuint);
Trail &= Dashing;
} }
} }
else else
@ -386,12 +387,6 @@ namespace osu.Game.Rulesets.Catch.UI
X = hyperDashTargetPosition; X = hyperDashTargetPosition;
SetHyperDashState(); SetHyperDashState();
} }
if (Clock.ElapsedFrameTime < 0)
{
AdditiveTarget.RemoveAll(d => Clock.CurrentTime < d.LifetimeStart);
caughtFruit.RemoveAll(d => d.HitObject.StartTime > Clock.CurrentTime);
}
} }
/// <summary> /// <summary>