Ver código fonte

dispose of virtual plane drag scene

Trevor Baron 7 anos atrás
pai
commit
dbba2adf0d
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5 0
      src/Behaviors/Mesh/babylon.pointerDragBehavior.ts

+ 5 - 0
src/Behaviors/Mesh/babylon.pointerDragBehavior.ts

@@ -126,6 +126,11 @@ module BABYLON {
                     PointerDragBehavior._planeScene = new BABYLON.Scene(this._scene.getEngine());
                     PointerDragBehavior._planeScene.detachControl();
                     this._scene.getEngine().scenes.pop();
+                    var sceneDisposeObserver = this._scene.onDisposeObservable.add(()=>{
+                        PointerDragBehavior._planeScene.dispose();
+                        (<any>PointerDragBehavior._planeScene) = null;
+                        this._scene.onDisposeObservable.remove(sceneDisposeObserver);
+                    })
                 }
             }
             this._dragPlane = BABYLON.Mesh.CreatePlane("pointerDragPlane", this._debugMode ? 1 : 10000, PointerDragBehavior._planeScene, false, BABYLON.Mesh.DOUBLESIDE);