David Catuhe пре 5 година
родитељ
комит
988a31f2cf

+ 7 - 0
Playground/babylon.d.txt

@@ -32191,6 +32191,10 @@ declare module BABYLON {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -32262,6 +32266,9 @@ declare module BABYLON {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop

+ 7 - 0
dist/preview release/babylon.d.ts

@@ -32826,6 +32826,10 @@ declare module BABYLON {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -32897,6 +32901,9 @@ declare module BABYLON {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/babylon.js


Разлика између датотеке није приказан због своје велике величине
+ 74 - 53
dist/preview release/babylon.max.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/babylon.max.js.map


+ 14 - 0
dist/preview release/babylon.module.d.ts

@@ -33763,6 +33763,10 @@ declare module "babylonjs/Animations/animationGroup" {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -33834,6 +33838,9 @@ declare module "babylonjs/Animations/animationGroup" {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop
@@ -100292,6 +100299,10 @@ declare module BABYLON {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -100363,6 +100374,9 @@ declare module BABYLON {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop

+ 7 - 0
dist/preview release/documentation.d.ts

@@ -32826,6 +32826,10 @@ declare module BABYLON {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -32897,6 +32901,9 @@ declare module BABYLON {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop

+ 14 - 0
dist/preview release/viewer/babylon.module.d.ts

@@ -33763,6 +33763,10 @@ declare module "babylonjs/Animations/animationGroup" {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -33834,6 +33838,9 @@ declare module "babylonjs/Animations/animationGroup" {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop
@@ -100292,6 +100299,10 @@ declare module BABYLON {
          */
         onAnimationLoopObservable: Observable<TargetedAnimation>;
         /**
+         * Observer raised when all animations have looped
+         */
+        onAnimationGroupLoopObservable: Observable<AnimationGroup>;
+        /**
          * This observable will notify when all animations have ended.
          */
         onAnimationGroupEndObservable: Observable<AnimationGroup>;
@@ -100363,6 +100374,9 @@ declare module BABYLON {
          * @returns the animation group
          */
         normalize(beginFrame?: Nullable<number>, endFrame?: Nullable<number>): AnimationGroup;
+        private _animationLoopCount;
+        private _animationLoopFlags;
+        private _processLoop;
         /**
          * Start all animations on given targets
          * @param loop defines if animations must loop

Разлика између датотеке није приказан због своје велике величине
+ 24 - 24
dist/preview release/viewer/babylon.viewer.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 8 - 10
src/Animations/animationGroup.ts

@@ -64,11 +64,11 @@ export class AnimationGroup implements IDisposable {
      * Observer raised when one animation loops
      */
     public onAnimationLoopObservable = new Observable<TargetedAnimation>();
-    
+
     /**
      * Observer raised when all animations have looped
      */
-    public onAnimationGroupLoopObservable = new Observable<AnimationGroup>();    
+    public onAnimationGroupLoopObservable = new Observable<AnimationGroup>();
 
     /**
      * This observable will notify when all animations have ended.
@@ -258,15 +258,13 @@ export class AnimationGroup implements IDisposable {
         return this;
     }
 
-    
-
     private _animationLoopCount: number;
     private _animationLoopFlags: boolean[];
 
     private _processLoop(animatable: Animatable, targetedAnimation: TargetedAnimation, index: number) {
         animatable.onAnimationLoop = () => {
             this.onAnimationLoopObservable.notifyObservers(targetedAnimation);
-            
+
             if (this._animationLoopFlags[index]) {
                 return;
             }
@@ -274,12 +272,12 @@ export class AnimationGroup implements IDisposable {
             this._animationLoopFlags[index] = true;
 
             this._animationLoopCount++;
-            if (this._animationLoopCount === this._targetedAnimations.length) {                    
+            if (this._animationLoopCount === this._targetedAnimations.length) {
                 this.onAnimationGroupLoopObservable.notifyObservers(this);
                 this._animationLoopCount = 0;
-                this._animationLoopFlags = [];            
-            } 
-        }
+                this._animationLoopFlags = [];
+            }
+        };
     }
 
     /**
@@ -307,7 +305,7 @@ export class AnimationGroup implements IDisposable {
                 this.onAnimationEndObservable.notifyObservers(targetedAnimation);
                 this._checkAnimationGroupEnded(animatable);
             };
-            
+
             this._processLoop(animatable, targetedAnimation, index);
             this._animatables.push(animatable);
         }