Bläddra i källkod

revert gizmo manager in globalState

Trevor Baron 6 år sedan
förälder
incheckning
f3b279a012

+ 0 - 4
inspector/src/components/globalState.ts

@@ -7,7 +7,6 @@ import { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "babylonjs/Loading/s
 import { Scene } from "babylonjs/scene";
 import { Light } from "babylonjs/Lights/light";
 import { LightGizmo } from "babylonjs/Gizmos/lightGizmo";
-import { GizmoManager } from 'babylonjs';
 import { PropertyChangedEvent } from "./propertyChangedEvent";
 
 export class GlobalState {
@@ -54,9 +53,6 @@ export class GlobalState {
         });
     }
 
-    // Gizmos
-    public gizmoManager:Nullable<GizmoManager> = null;
-
     // Light gizmos
     public lightGizmos:Array<LightGizmo> = [];
     public enableLightGizmo(light:Light, enable = true){

+ 10 - 8
inspector/src/components/sceneExplorer/entities/sceneTreeItemComponent.tsx

@@ -30,9 +30,11 @@ export class SceneTreeItemComponent extends React.Component<ISceneTreeItemCompon
 
     constructor(props: ISceneTreeItemComponentProps) {
         super(props);
+
+        const scene = this.props.scene;
         let gizmoMode = 0;
-        if (props.globalState.gizmoManager) {
-            const manager: GizmoManager = props.globalState.gizmoManager;
+        if (scene.reservedDataStore && scene.reservedDataStore.gizmoManager) {
+            const manager: GizmoManager = scene.reservedDataStore.gizmoManager;
             if (manager.positionGizmoEnabled) {
                 gizmoMode = 1;
             } else if (manager.rotationGizmoEnabled) {
@@ -66,8 +68,8 @@ export class SceneTreeItemComponent extends React.Component<ISceneTreeItemCompon
         const scene = this.props.scene;
         this._onSelectionChangeObserver = this.props.onSelectionChangedObservable.add((entity) => {
             this._selectedEntity = entity;
-            if (scene.reservedDataStore && this.props.globalState.gizmoManager) {
-                const manager: GizmoManager = this.props.globalState.gizmoManager;
+            if (scene.reservedDataStore && scene.reservedDataStore.gizmoManager) {
+                const manager: GizmoManager = scene.reservedDataStore.gizmoManager;
 
                 const className = entity.getClassName();
                 
@@ -157,11 +159,11 @@ export class SceneTreeItemComponent extends React.Component<ISceneTreeItemCompon
             this._gizmoLayerOnPointerObserver = null;
         }
 
-        if (!this.props.globalState.gizmoManager) {
-            this.props.globalState.gizmoManager = new GizmoManager(scene);
+        if (!scene.reservedDataStore.gizmoManager) {
+            scene.reservedDataStore.gizmoManager = new GizmoManager(scene);
         }
 
-        const manager: GizmoManager = this.props.globalState.gizmoManager;
+        const manager: GizmoManager = scene.reservedDataStore.gizmoManager;
         // Allow picking of light gizmo when a gizmo mode is selected
         this._gizmoLayerOnPointerObserver = UtilityLayerRenderer.DefaultUtilityLayer.utilityLayerScene.onPointerObservable.add((pointerInfo)=>{
             if (pointerInfo.type == PointerEventTypes.POINTERDOWN) {
@@ -187,7 +189,7 @@ export class SceneTreeItemComponent extends React.Component<ISceneTreeItemCompon
         if (this.state.gizmoMode === mode) {
             mode = 0;
             manager.dispose();
-            this.props.globalState.gizmoManager = null;
+            scene.reservedDataStore.gizmoManager = null;
         } else {
             switch (mode) {
                 case 1:

+ 3 - 3
inspector/src/inspector.ts

@@ -454,9 +454,9 @@ export class Inspector {
                 this._GlobalState.enableLightGizmo(g.light, false);
             }
         })
-        if(this._GlobalState.gizmoManager){
-            this._GlobalState.gizmoManager.dispose();
-            this._GlobalState.gizmoManager = null;
+        if(this._Scene.reservedDataStore && this._Scene.reservedDataStore.gizmoManager){
+            this._Scene.reservedDataStore.gizmoManager.dispose();
+            this._Scene.reservedDataStore.gizmoManager = null;
         }
 
         if (this._NewCanvasContainer) {