mirror of
https://github.com/osukey/osukey.git
synced 2025-04-29 02:37:25 +09:00
Fix fade in delay for first slider end circle being incorrect when snaking disabled
This commit is contained in:
parent
e3c51b9652
commit
1a04be15c7
@ -87,12 +87,15 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
|||||||
|
|
||||||
protected override void UpdateInitialTransforms()
|
protected override void UpdateInitialTransforms()
|
||||||
{
|
{
|
||||||
|
// When snaking in is enabled, the first end circle needs to be delayed until the snaking completes.
|
||||||
|
bool delayFadeIn = DrawableSlider.SliderBody!.SnakingIn.Value && HitObject.RepeatIndex == 0;
|
||||||
|
|
||||||
animDuration = Math.Min(300, HitObject.SpanDuration);
|
animDuration = Math.Min(300, HitObject.SpanDuration);
|
||||||
|
|
||||||
this.Animate(
|
this
|
||||||
d => d.FadeIn(animDuration),
|
.FadeOut()
|
||||||
d => d.ScaleTo(0.5f).ScaleTo(1f, animDuration * 2, Easing.OutElasticHalf)
|
.Delay(delayFadeIn ? Slider!.TimePreempt / 3f : 0)
|
||||||
);
|
.FadeIn(HitObject.RepeatIndex == 0 ? HitObject.TimeFadeIn : animDuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UpdateHitStateTransforms(ArmedState state)
|
protected override void UpdateHitStateTransforms(ArmedState state)
|
||||||
|
@ -91,7 +91,13 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
|||||||
{
|
{
|
||||||
base.UpdateInitialTransforms();
|
base.UpdateInitialTransforms();
|
||||||
|
|
||||||
CirclePiece.FadeInFromZero(HitObject.TimeFadeIn);
|
// When snaking in is enabled, the first end circle needs to be delayed until the snaking completes.
|
||||||
|
bool delayFadeIn = DrawableSlider.SliderBody!.SnakingIn.Value && HitObject.RepeatIndex == 0;
|
||||||
|
|
||||||
|
CirclePiece
|
||||||
|
.FadeOut()
|
||||||
|
.Delay(delayFadeIn ? Slider!.TimePreempt / 3f : 0)
|
||||||
|
.FadeIn(HitObject.TimeFadeIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UpdateHitStateTransforms(ArmedState state)
|
protected override void UpdateHitStateTransforms(ArmedState state)
|
||||||
|
@ -39,11 +39,8 @@ namespace osu.Game.Rulesets.Osu.Objects
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// taken from osu-stable
|
|
||||||
const float first_end_circle_preempt_adjust = 2 / 3f;
|
|
||||||
|
|
||||||
// The first end circle should fade in with the slider.
|
// The first end circle should fade in with the slider.
|
||||||
TimePreempt = (StartTime - slider.StartTime) + slider.TimePreempt * first_end_circle_preempt_adjust;
|
TimePreempt = (StartTime - slider.StartTime) + slider.TimePreempt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user