Skip to content

Commit

Permalink
[csharp] Port of commit 8d058fb: Improved AnimationState behavior whe…
Browse files Browse the repository at this point in the history
…n paused. See #2705.
  • Loading branch information
HaraldCsaszar committed Dec 9, 2024
1 parent 1403356 commit 08a2935
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
20 changes: 11 additions & 9 deletions spine-csharp/src/AnimationState.cs
Original file line number Diff line number Diff line change
Expand Up @@ -204,16 +204,18 @@ private bool UpdateMixingFrom (TrackEntry to, float delta) {
from.animationLast = from.nextAnimationLast;
from.trackLast = from.nextTrackLast;

// Require mixTime > 0 to ensure the mixing from entry was applied at least once.
if (to.mixTime > 0 && to.mixTime >= to.mixDuration) {
// Require totalAlpha == 0 to ensure mixing is complete, unless mixDuration == 0 (the transition is a single frame).
if (from.totalAlpha == 0 || to.mixDuration == 0) {
to.mixingFrom = from.mixingFrom;
if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
to.interruptAlpha = from.interruptAlpha;
queue.End(from);
if (to.nextTrackLast != -1) { // The from entry was applied at least once.
bool discard = to.mixTime == 0 && from.mixTime == 0; // Discard the from entry when neither have advanced yet.
if (to.mixTime >= to.mixDuration || discard) {
// Require totalAlpha == 0 to ensure mixing is complete or the transition is a single frame or discarded.
if (from.totalAlpha == 0 || to.mixDuration == 0 || discard) {
to.mixingFrom = from.mixingFrom;
if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
to.interruptAlpha = from.interruptAlpha;
queue.End(from);
}
return finished;
}
return finished;
}

from.trackTime += delta * from.timeScale;
Expand Down
2 changes: 1 addition & 1 deletion spine-csharp/src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "com.esotericsoftware.spine.spine-csharp",
"displayName": "spine-csharp Runtime",
"description": "This plugin provides the spine-csharp core runtime.",
"version": "4.2.32",
"version": "4.2.33",
"unity": "2018.3",
"author": {
"name": "Esoteric Software",
Expand Down

0 comments on commit 08a2935

Please sign in to comment.