Просмотр исходного кода

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
Zer..om 12 лет назад
Родитель
Сommit
9c91d8c8e1
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      engine/src/core/com/jme3/animation/AnimChannel.java

+ 6 - 1
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());
             } 
         }