diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AnimationStateTests.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AnimationStateTests.java index dd2489c45..9f563915b 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AnimationStateTests.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AnimationStateTests.java @@ -583,11 +583,13 @@ public class AnimationStateTests { setup("setAnimation twice", // 21 expect(0, "start", 0, 0), // expect(0, "interrupt", 0, 0), // - expect(0, "end", 0, 0), // - expect(0, "dispose", 0, 0), // expect(1, "start", 0, 0), // expect(1, "event 0", 0, 0), // + + expect(0, "end", 0, 0.1f), // + expect(0, "dispose", 0, 0.1f), // + expect(1, "event 14", 0.5f, 0.5f), // note("First 2 setAnimation calls are done."), @@ -596,8 +598,6 @@ public class AnimationStateTests { expect(0, "start", 0, 0.8f), // expect(0, "interrupt", 0, 0.8f), // - expect(0, "end", 0, 0.8f), // - expect(0, "dispose", 0, 0.8f), // expect(2, "start", 0, 0.8f), // expect(2, "event 0", 0.1f, 0.9f), // @@ -605,18 +605,21 @@ public class AnimationStateTests { expect(1, "end", 0.9f, 1), // expect(1, "dispose", 0.9f, 1), // + expect(0, "end", 0.1f, 1), // + expect(0, "dispose", 0.1f, 1), // + expect(2, "event 14", 0.5f, 1.3f), // expect(2, "event 30", 1, 1.8f), // expect(2, "complete", 1, 1.8f), // expect(2, "end", 1, 1.9f), // expect(2, "dispose", 1, 1.9f) // ); - state.setAnimation(0, "events0", false); // First should be ignored. + state.setAnimation(0, "events0", false); // Kept as mixingFrom (not discarded, different animation). state.setAnimation(0, "events1", false); run(0.1f, 1000, new TestListener() { public void frame (float time) { if (MathUtils.isEqual(time, 0.8f)) { - state.setAnimation(0, "events0", false); // First should be ignored. + state.setAnimation(0, "events0", false); // Kept as mixingFrom (not discarded, different animation). state.setAnimation(0, "events2", false).setTrackEnd(1); } } @@ -625,8 +628,6 @@ public class AnimationStateTests { setup("setAnimation twice with multiple mixing", // 22 expect(0, "start", 0, 0), // expect(0, "interrupt", 0, 0), // - expect(0, "end", 0, 0), // - expect(0, "dispose", 0, 0), // expect(1, "start", 0, 0), // expect(1, "event 0", 0, 0), // @@ -637,8 +638,6 @@ public class AnimationStateTests { expect(0, "start", 0, 0.2f), // expect(0, "interrupt", 0, 0.2f), // - expect(0, "end", 0, 0.2f), // - expect(0, "dispose", 0, 0.2f), // expect(2, "start", 0, 0.2f), // expect(2, "event 0", 0.1f, 0.3f), // @@ -649,36 +648,43 @@ public class AnimationStateTests { expect(1, "start", 0, 0.4f), // expect(1, "interrupt", 0, 0.4f), // - expect(1, "end", 0, 0.4f), // - expect(1, "dispose", 0, 0.4f), // expect(0, "start", 0, 0.4f), // expect(0, "event 0", 0.1f, 0.5f), // + expect(0, "end", 0.6f, 0.7f), // + expect(0, "dispose", 0.6f, 0.7f), // + expect(1, "end", 0.8f, 0.9f), // expect(1, "dispose", 0.8f, 0.9f), // + expect(0, "end", 0.6f, 0.9f), // + expect(0, "dispose", 0.6f, 0.9f), // + expect(0, "event 14", 0.5f, 0.9f), // expect(2, "end", 0.8f, 1.1f), // expect(2, "dispose", 0.8f, 1.1f), // + expect(1, "end", 0.6f, 1.1f), // + expect(1, "dispose", 0.6f, 1.1f), // + expect(0, "event 30", 1, 1.4f), // expect(0, "complete", 1, 1.4f), // expect(0, "end", 1, 1.5f), // expect(0, "dispose", 1, 1.5f) // ); stateData.setDefaultMix(0.6f); - state.setAnimation(0, "events0", false); // First should be ignored. + state.setAnimation(0, "events0", false); // Kept as mixingFrom (not discarded, different animation). state.setAnimation(0, "events1", false); run(0.1f, 1000, new TestListener() { public void frame (float time) { if (MathUtils.isEqual(time, 0.2f)) { - state.setAnimation(0, "events0", false); // First should be ignored. + state.setAnimation(0, "events0", false); // Kept as mixingFrom (not discarded, different animation). state.setAnimation(0, "events2", false); } if (MathUtils.isEqual(time, 0.4f)) { - state.setAnimation(0, "events1", false); // First should be ignored. + state.setAnimation(0, "events1", false); // Kept as mixingFrom (not discarded, different animation). state.setAnimation(0, "events0", false).setTrackEnd(1); } }