Trevor Baron преди 7 години
родител
ревизия
de0b34769e
променени са 2 файла, в които са добавени 16 реда и са изтрити 0 реда
  1. 8 0
      src/Rendering/babylon.utilityLayerRenderer.ts
  2. 8 0
      src/babylon.scene.ts

+ 8 - 0
src/Rendering/babylon.utilityLayerRenderer.ts

@@ -14,6 +14,7 @@ module BABYLON {
         public shouldRender:boolean = true;
 
         private _afterRenderObservable:Nullable<Observer<Scene>>;
+        private _sceneDisposeObservable:Nullable<Observer<Scene>>;
         /**
          * Instantiates a UtilityLayerRenderer
          * @param originalScene the original scene that will be rendered on top of
@@ -31,6 +32,10 @@ module BABYLON {
                 if(this.shouldRender){
                     this.render();
                 }
+            });
+
+            this._sceneDisposeObservable = this.originalScene.onDisposeObservable.add(()=>{
+                this.dispose();
             })
         }
 
@@ -49,6 +54,9 @@ module BABYLON {
             if(this._afterRenderObservable){
                 this.originalScene.onAfterRenderObservable.remove(this._afterRenderObservable);
             }
+            if(this._sceneDisposeObservable){
+                this.originalScene.onDisposeObservable.remove(this._sceneDisposeObservable);
+            }
             this.utilityLayerScene.dispose();
         }
 

+ 8 - 0
src/babylon.scene.ts

@@ -1383,6 +1383,14 @@
         }
 
         /** 
+         * Creates a utility layer renderer
+         * @returns a BoundingBoxRenderer
+         */
+        public createUtilityLayerRenderer(): UtilityLayerRenderer {
+            return new UtilityLayerRenderer(this);
+        }
+
+        /** 
          * Gets the outline renderer associated with the scene
          * @returns a OutlineRenderer
          */