1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-10 11:03:21 +08:00

Fix fade not applying to tails sometimes

This commit is contained in:
Bartłomiej Dach 2020-11-13 15:43:10 +01:00
parent 55a91dbbe0
commit 4777b1be81

View File

@ -118,11 +118,15 @@ namespace osu.Game.Rulesets.Mania.Skinning
private void applyCustomUpdateState(DrawableHitObject hitObject, ArmedState state) private void applyCustomUpdateState(DrawableHitObject hitObject, ArmedState state)
{ {
switch (state) if (state == ArmedState.Miss)
{ missFadeTime = hitObject.StateUpdateTime;
case ArmedState.Miss:
missFadeTime ??= hitObject.StateUpdateTime;
if (missFadeTime == null)
return;
// this state update could come from any nested object of the hold note.
// make sure the transforms are consistent across all affected parts
// even if they're idle.
using (BeginAbsoluteSequence(missFadeTime.Value)) using (BeginAbsoluteSequence(missFadeTime.Value))
{ {
// colour and duration matches stable // colour and duration matches stable
@ -131,9 +135,6 @@ namespace osu.Game.Rulesets.Mania.Skinning
bodySprite?.FadeColour(Colour4.DarkGray, 60); bodySprite?.FadeColour(Colour4.DarkGray, 60);
holdNote.Tail.FadeColour(Colour4.DarkGray, 60); holdNote.Tail.FadeColour(Colour4.DarkGray, 60);
} }
break;
}
} }
private void onIsHittingChanged(ValueChangedEvent<bool> isHitting) private void onIsHittingChanged(ValueChangedEvent<bool> isHitting)