mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 09:46:02 +08:00
[csharp] Port of commit f1e0f0f: Fixed animation not being mixed out in some cases. See #2786.
This commit is contained in:
parent
f1e0f0f728
commit
58f99b1c0c
@ -204,18 +204,16 @@ namespace Spine {
|
|||||||
from.animationLast = from.nextAnimationLast;
|
from.animationLast = from.nextAnimationLast;
|
||||||
from.trackLast = from.nextTrackLast;
|
from.trackLast = from.nextTrackLast;
|
||||||
|
|
||||||
if (to.nextTrackLast != -1) { // The from entry was applied at least once.
|
// The from entry was applied at least once and the mix is complete.
|
||||||
bool discard = to.mixTime == 0 && from.mixTime == 0; // Discard the from entry when neither have advanced yet.
|
if (to.nextTrackLast != -1 && to.mixTime >= to.mixDuration) {
|
||||||
if (to.mixTime >= to.mixDuration || discard) {
|
// Mixing is complete for all entries before the from entry or the mix is instantaneous.
|
||||||
// Require totalAlpha == 0 to ensure mixing is complete or the transition is a single frame or discarded.
|
if (from.totalAlpha == 0 || to.mixDuration == 0) {
|
||||||
if (from.totalAlpha == 0 || to.mixDuration == 0 || discard) {
|
to.mixingFrom = from.mixingFrom;
|
||||||
to.mixingFrom = from.mixingFrom;
|
if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
|
||||||
if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
|
to.interruptAlpha = from.interruptAlpha;
|
||||||
to.interruptAlpha = from.interruptAlpha;
|
queue.End(from);
|
||||||
queue.End(from);
|
|
||||||
}
|
|
||||||
return finished;
|
|
||||||
}
|
}
|
||||||
|
return finished;
|
||||||
}
|
}
|
||||||
|
|
||||||
from.trackTime += delta * from.timeScale;
|
from.trackTime += delta * from.timeScale;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "com.esotericsoftware.spine.spine-csharp",
|
"name": "com.esotericsoftware.spine.spine-csharp",
|
||||||
"displayName": "spine-csharp Runtime",
|
"displayName": "spine-csharp Runtime",
|
||||||
"description": "This plugin provides the spine-csharp core runtime.",
|
"description": "This plugin provides the spine-csharp core runtime.",
|
||||||
"version": "4.2.34",
|
"version": "4.2.35",
|
||||||
"unity": "2018.3",
|
"unity": "2018.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Esoteric Software",
|
"name": "Esoteric Software",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user