Fix slider tick / end misses displaying with full size on legacy skins with animated misses

Resolves https://github.com/ppy/osu/issues/25987.

Structure is a bit clumsy but I'm not sure how to do better...
This commit is contained in:
Bartłomiej Dach 2023-12-21 13:58:12 +01:00
parent 7e9d12e1d2
commit b4e71a0787
No known key found for this signature in database

View File

@ -50,17 +50,16 @@ namespace osu.Game.Skinning
// legacy judgements don't play any transforms if they are an animation.... UNLESS they are the temporary displayed judgement from new piece. // legacy judgements don't play any transforms if they are an animation.... UNLESS they are the temporary displayed judgement from new piece.
if (animation?.FrameCount > 1 && !forceTransforms) if (animation?.FrameCount > 1 && !forceTransforms)
{
if (isMissedTick())
applyMissedTickScaling();
return; return;
}
if (result.IsMiss()) if (result.IsMiss())
{ {
bool isTick = result != HitResult.Miss; if (isMissedTick())
applyMissedTickScaling();
if (isTick)
{
this.ScaleTo(0.6f);
this.ScaleTo(0.3f, 100, Easing.In);
}
else else
{ {
this.ScaleTo(1.6f); this.ScaleTo(1.6f);
@ -95,6 +94,14 @@ namespace osu.Game.Skinning
} }
} }
private bool isMissedTick() => result.IsMiss() && result != HitResult.Miss;
private void applyMissedTickScaling()
{
this.ScaleTo(0.6f);
this.ScaleTo(0.3f, 100, Easing.In);
}
public Drawable GetAboveHitObjectsProxiedContent() => CreateProxy(); public Drawable GetAboveHitObjectsProxiedContent() => CreateProxy();
} }
} }