Example #1
0
        void OnEnable()
        {
            valueMonitorPool = new ValueMonitorPool();
            valueMonitorPool.AddMonitor <bool>(() =>
            {
                return(isEditing);
            },
                                               (bool from, bool to) =>
            {
                if (to)
                {
                    SceneView.onSceneGUIDelegate = (SceneView.OnSceneFunc)Delegate.RemoveAll(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(this.OnSceneGUICallback_Move));
                    SceneView.onSceneGUIDelegate = (SceneView.OnSceneFunc)Delegate.Combine(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(this.OnSceneGUICallback_Move));
                }
                else
                {
                    SceneView.onSceneGUIDelegate = (SceneView.OnSceneFunc)Delegate.RemoveAll(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(this.OnSceneGUICallback_Move));
                }
            });

            EditorUpdateRunner.AddUpdateIfNot("MapEditorManager", () =>
            {
                EditorUpdate();
            });
        }