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

Fix approach circle fade not running early on an early user hit

Regressed in https://github.com/ppy/osu/pull/12153.
Closes https://github.com/ppy/osu/issues/13531.
This commit is contained in:
Dean Herbert 2021-06-17 15:08:22 +09:00
parent 6d0b3efa23
commit a46f730a69

View File

@ -172,6 +172,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
{ {
base.UpdateStartTimeStateTransforms(); base.UpdateStartTimeStateTransforms();
// always fade out at the circle's start time (to match user expectations).
ApproachCircle.FadeOut(50); ApproachCircle.FadeOut(50);
} }
@ -182,6 +183,10 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
// todo: temporary / arbitrary, used for lifetime optimisation. // todo: temporary / arbitrary, used for lifetime optimisation.
this.Delay(800).FadeOut(); this.Delay(800).FadeOut();
// in the case of an early state change, the fade should be expedited to the current point in time.
if (HitStateUpdateTime < HitObject.StartTime)
ApproachCircle.FadeOut(50);
switch (state) switch (state)
{ {
case ArmedState.Idle: case ArmedState.Idle: