[csharp] Fixed interrupting a mix with mixDuration 0.

Port of c8d595565b
closes https://github.com/EsotericSoftware/spine-runtimes/issues/970
This commit is contained in:
John 2017-08-23 18:28:44 +08:00 committed by GitHub
parent c8d595565b
commit 50730c7a5c

View File

@ -139,8 +139,9 @@ namespace Spine {
bool finished = UpdateMixingFrom(from, delta);
// Require mixTime > 0 to ensure the mixing from entry was applied at least once.
if (to.mixTime > 0 && (to.mixTime >= to.mixDuration || to.timeScale == 0)) {
if (from.totalAlpha == 0) {
if (to.mixTime > 0 && (to.mixTime >= to.mixDuration || to.timeScale == 0)) {
// 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;
to.interruptAlpha = from.interruptAlpha;
queue.End(from);