Fix argon swells incorrectly flashing on every hit

This commit is contained in:
Dean Herbert 2022-11-15 18:22:27 +09:00
parent 55765c80c6
commit 233d45e185
2 changed files with 11 additions and 4 deletions

View File

@ -9,6 +9,7 @@ using osu.Framework.Graphics.Shapes;
using osu.Game.Beatmaps.ControlPoints; using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics.Containers; using osu.Game.Graphics.Containers;
using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Taiko.Objects;
using osuTK.Graphics; using osuTK.Graphics;
namespace osu.Game.Rulesets.Taiko.Skinning.Argon namespace osu.Game.Rulesets.Taiko.Skinning.Argon
@ -81,12 +82,15 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Argon
updateStateTransforms(drawableHitObject, drawableHitObject.State.Value); updateStateTransforms(drawableHitObject, drawableHitObject.State.Value);
} }
private void updateStateTransforms(DrawableHitObject drawableHitObject, ArmedState state) private void updateStateTransforms(DrawableHitObject h, ArmedState state)
{ {
if (h.HitObject is not Hit)
return;
switch (state) switch (state)
{ {
case ArmedState.Hit: case ArmedState.Hit:
using (BeginAbsoluteSequence(drawableHitObject.HitStateUpdateTime)) using (BeginAbsoluteSequence(h.HitStateUpdateTime))
{ {
flash.FadeTo(0.9f).FadeOut(500, Easing.OutQuint); flash.FadeTo(0.9f).FadeOut(500, Easing.OutQuint);
} }

View File

@ -153,12 +153,15 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Default
updateStateTransforms(drawableHitObject, drawableHitObject.State.Value); updateStateTransforms(drawableHitObject, drawableHitObject.State.Value);
} }
private void updateStateTransforms(DrawableHitObject drawableHitObject, ArmedState state) private void updateStateTransforms(DrawableHitObject h, ArmedState state)
{ {
if (h.HitObject is not Hit)
return;
switch (state) switch (state)
{ {
case ArmedState.Hit: case ArmedState.Hit:
using (BeginAbsoluteSequence(drawableHitObject.HitStateUpdateTime)) using (BeginAbsoluteSequence(h.HitStateUpdateTime))
flashBox.FadeTo(0.9f).FadeOut(300); flashBox.FadeTo(0.9f).FadeOut(300);
break; break;
} }