diff --git a/spine-csharp/src/AnimationState.cs b/spine-csharp/src/AnimationState.cs index 2abde4c6d..a2f826e4c 100644 --- a/spine-csharp/src/AnimationState.cs +++ b/spine-csharp/src/AnimationState.cs @@ -528,13 +528,13 @@ namespace Spine { float duration = last.animationEnd - last.animationStart; if (duration != 0) { if (last.loop) { - delay += duration * (1 + (int)(last.trackTime / duration)); + delay += duration * (1 + (int)(last.trackTime / duration)); // Completion of next loop. } else { - delay += duration; + delay += Math.Max(duration, last.trackTime); // After duration, else next update. } delay -= data.GetMix(last.animation, animation); } else - delay = 0; + delay = last.trackTime; // Next update. } }