From b4c50035b89b989fee5ba70f2965e301f0319bdf Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sat, 1 Dec 2018 20:59:08 +0100 Subject: [PATCH] [libgdx] AnimationState, fixed attachment and draw order threshold TrackEntry settings. closes #1204 --- .../com/esotericsoftware/spine/AnimationState.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java index 3d309ce4f..4db2abfa1 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -280,6 +280,7 @@ public class AnimationState { from.totalAlpha = 0; for (int i = 0; i < timelineCount; i++) { Timeline timeline = (Timeline)timelines[i]; + MixDirection direction = MixDirection.out; MixBlend timelineBlend; float alpha; switch (timelineMode[i]) { @@ -307,8 +308,16 @@ public class AnimationState { if (timeline instanceof RotateTimeline) { applyRotateTimeline(timeline, skeleton, animationTime, alpha, timelineBlend, timelinesRotation, i << 1, firstFrame); - } else - timeline.apply(skeleton, animationLast, animationTime, events, alpha, timelineBlend, MixDirection.out); + } else { + if (timelineBlend == MixBlend.setup) { + if (timeline instanceof AttachmentTimeline) { + if (attachments) direction = MixDirection.in; + } else if (timeline instanceof DrawOrderTimeline) { + if (drawOrder) direction = MixDirection.in; + } + } + timeline.apply(skeleton, animationLast, animationTime, events, alpha, timelineBlend, direction); + } } }