From 896abf8fd74c690ffffee6df892fbb7dd2afd592 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 2 Dec 2016 02:10:42 +0800 Subject: [PATCH] [csharp] AnimationState fixes. Includes fix: https://github.com/EsotericSoftware/spine-runtimes/commit/a6ac746b4f351b8c6bc1351e26801311485b21fd --- spine-csharp/src/AnimationState.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-csharp/src/AnimationState.cs b/spine-csharp/src/AnimationState.cs index 210c19d74..7e077742a 100644 --- a/spine-csharp/src/AnimationState.cs +++ b/spine-csharp/src/AnimationState.cs @@ -215,7 +215,7 @@ namespace Spine { float alpha = from.alpha * entry.mixAlpha * (1 - mix); bool firstFrame = entry.timelinesRotation.Count == 0; - if (firstFrame) entry.timelinesRotation.Capacity = timelineCount << 1; + if (firstFrame) entry.timelinesRotation.EnsureCapacity(timelines.Count << 1); var timelinesRotation = entry.timelinesRotation.Items; for (int i = 0; i < timelineCount; i++) { @@ -389,7 +389,7 @@ namespace Spine { from.timelinesRotation.Clear(); // If not completely mixed in, set mixAlpha so mixing out happens from current mix to zero. - if (from.mixingFrom != null) from.mixAlpha *= Math.Min(from.mixTime / from.mixDuration, 1); + if (from.mixingFrom != null && from.mixDuration > 0) current.mixAlpha *= Math.Min(from.mixTime / from.mixDuration, 1); } queue.Start(current);