浏览代码

dispose of virtual plane drag scene

Trevor Baron 7 年之前
父节点
当前提交
dbba2adf0d
共有 1 个文件被更改,包括 5 次插入0 次删除
  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);