From 9c91d8c8e187184c56abb3872ee81b6b0d766ee5 Mon Sep 17 00:00:00 2001 From: "Zer..om" Date: Sat, 6 Apr 2013 16:31:19 +0000 Subject: [PATCH] Fixed a bug where if you started a new animation from the animation complete callback of another animation no event was triggered at the end of the new animation. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10516 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- engine/src/core/com/jme3/animation/AnimChannel.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engine/src/core/com/jme3/animation/AnimChannel.java b/engine/src/core/com/jme3/animation/AnimChannel.java index 00f2d1e49..55249fbd7 100644 --- a/engine/src/core/com/jme3/animation/AnimChannel.java +++ b/engine/src/core/com/jme3/animation/AnimChannel.java @@ -263,6 +263,7 @@ public final class AnimChannel { time = 0; speed = 1f; loopMode = LoopMode.Loop; + System.out.println("Setting notified false"); notified = false; } @@ -362,6 +363,7 @@ public final class AnimChannel { } } animation = null; + System.out.println("Setting notified false"); notified = false; } @@ -396,10 +398,13 @@ public final class AnimChannel { if (animation.getLength() > 0){ if (!notified && (time >= animation.getLength() || time < 0)) { - control.notifyAnimCycleDone(this, animation.getName()); if (loopMode == LoopMode.DontLoop) { + // Note that this flag has to be set before calling the notify + // since the notify may start a new animation and then unset + // the flag. notified = true; } + control.notifyAnimCycleDone(this, animation.getName()); } }