1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-13 18:47:27 +08:00

Move lifetime adjustment to DrawableHitCircle

This commit is contained in:
Dean Herbert 2017-12-29 18:51:14 +09:00
parent dd2ae3f701
commit a4f941cdf1
2 changed files with 4 additions and 3 deletions

View File

@ -66,9 +66,6 @@ namespace osu.Game.Rulesets.Osu.Mods
// we don't want to see the approach circle // we don't want to see the approach circle
circle.ApproachCircle.Hide(); circle.ApproachCircle.Hide();
// prolong the hitcircle long enough so misses are still possible
circle.LifetimeEnd = circle.HitObject.StartTime + Math.Max(fadeOutDuration, circle.HitObject.HitWindowFor(HitResult.Miss));
// fade out immediately after fade in. // fade out immediately after fade in.
using (drawable.BeginAbsoluteSequence(fadeInStartTime + fadeInDuration, true)) using (drawable.BeginAbsoluteSequence(fadeInStartTime + fadeInDuration, true))
circle.FadeOut(fadeOutDuration); circle.FadeOut(fadeOutDuration);

View File

@ -99,7 +99,11 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
{ {
case ArmedState.Idle: case ArmedState.Idle:
this.Delay(TIME_PREEMPT).FadeOut(500); this.Delay(TIME_PREEMPT).FadeOut(500);
Expire(true); Expire(true);
// override lifetime end as FadeIn may have been changed externally, causing out expiration to be too early.
LifetimeEnd = HitObject.StartTime + HitObject.HitWindowFor(HitResult.Miss);
break; break;
case ArmedState.Miss: case ArmedState.Miss:
ApproachCircle.FadeOut(50); ApproachCircle.FadeOut(50);