Пример #1
0
        public void OnDisable()
        {
            CallOnToolDeactivated();
            instances.Remove(this);
            if (instances.Count <= 1)
            {
                GridPaintingState.gridBrush = null;
            }
            DestroyPreviewInstance();
            DestroyImmediate(clipboardView);
            DestroyImmediate(m_PaintableSceneViewGrid);

            if (m_PreviewUtility != null)
            {
                m_PreviewUtility.Cleanup();
            }
            m_PreviewUtility = null;

            if (PaintableGrid.InGridEditMode())
            {
                EditMode.QuitEditMode();
            }

            EditMode.editModeStarted                  -= OnEditModeStart;
            EditMode.editModeEnded                    -= OnEditModeEnd;
            Tools.onToolChanged                       -= ToolChanged;
            GridSelection.gridSelectionChanged        -= OnGridSelectionChanged;
            SceneView.onSceneGUIDelegate              -= OnSceneViewGUI;
            GridPaintingState.scenePaintTargetChanged -= OnScenePaintTargetChanged;
            GridPaintingState.brushChanged            -= OnBrushChanged;
            GridPaintingState.UnregisterPainterInterest(this);
            PrefabUtility.prefabInstanceUpdated -= PrefabInstanceUpdated;

            ShortcutIntegration.instance.contextManager.DeregisterToolContext(m_ShortcutContext);
        }
 internal static void FlushCache()
 {
     s_RefreshCache = true;
     if (instance.m_Brushes != null)
     {
         instance.m_Brushes.Clear();
         GridPaintingState.FlushCache();
     }
 }
Пример #3
0
        internal static void FlushCache()
        {
            GridPaletteBrushes.s_RefreshCache = true;
            if (ScriptableSingleton <GridPaletteBrushes> .instance.m_Brushes != null)
            {
                ScriptableSingleton <GridPaletteBrushes> .instance.m_Brushes.Clear();

                GridPaintingState.FlushCache();
            }
        }
Пример #4
0
        public void OnEnable()
        {
            instances.Add(this);
            if (clipboardView == null)
            {
                clipboardView           = CreateInstance <GridPaintPaletteClipboard>();
                clipboardView.owner     = this;
                clipboardView.hideFlags = HideFlags.HideAndDontSave;
                clipboardView.unlocked  = false;
            }

            if (m_PaintableSceneViewGrid == null)
            {
                m_PaintableSceneViewGrid           = CreateInstance <PaintableSceneViewGrid>();
                m_PaintableSceneViewGrid.hideFlags = HideFlags.HideAndDontSave;
            }

            GridPaletteBrushes.FlushCache();
            EditMode.editModeStarted           += OnEditModeStart;
            EditMode.editModeEnded             += OnEditModeEnd;
            GridSelection.gridSelectionChanged += OnGridSelectionChanged;
            GridPaintingState.RegisterPainterInterest(this);
            GridPaintingState.scenePaintTargetChanged += OnScenePaintTargetChanged;
            GridPaintingState.brushChanged            += OnBrushChanged;
            SceneView.onSceneGUIDelegate        += OnSceneViewGUI;
            PrefabUtility.prefabInstanceUpdated += PrefabInstanceUpdated;

            AssetPreview.SetPreviewTextureCacheSize(256, GetInstanceID());
            wantsMouseMove             = true;
            wantsMouseEnterLeaveWindow = true;

            if (m_PreviewResizer == null)
            {
                m_PreviewResizer = new PreviewResizer();
                m_PreviewResizer.Init("TilemapBrushInspector");
            }

            minSize = new Vector2(240f, 200f);

            if (palette == null && TilemapEditorUserSettings.lastUsedPalette != null && GridPalettes.palettes.Contains(TilemapEditorUserSettings.lastUsedPalette))
            {
                palette = TilemapEditorUserSettings.lastUsedPalette;
            }

            Tools.onToolChanged += ToolChanged;

            ShortcutIntegration.instance.contextManager.RegisterToolContext(m_ShortcutContext);
        }
 public void OnDisable()
 {
     CallOnToolDeactivated();
     instances.Remove(this);
     DestroyPreviewInstance();
     EditorApplication.globalEventHandler -= HotkeyHandler;
     EditMode.editModeStarted             -= OnEditModeStart;
     EditMode.editModeEnded                    -= OnEditModeEnd;
     Tools.onToolChanged                       -= ToolChanged;
     GridSelection.gridSelectionChanged        -= OnGridSelectionChanged;
     SceneView.onSceneGUIDelegate              -= OnSceneViewGUI;
     GridPaintingState.scenePaintTargetChanged -= OnScenePaintTargetChanged;
     GridPaintingState.brushChanged            -= OnBrushChanged;
     GridPaintingState.UnregisterPainterInterest(this);
     PrefabUtility.prefabInstanceUpdated -= PrefabInstanceUpdated;
 }
Пример #6
0
 public void OnDisable()
 {
     this.CallOnToolDeactivated();
     GridPaintPaletteWindow.instances.Remove(this);
     this.DestroyPreviewInstance();
     EditorApplication.globalEventHandler = (EditorApplication.CallbackFunction)Delegate.Remove(EditorApplication.globalEventHandler, new EditorApplication.CallbackFunction(this.HotkeyHandler));
     EditMode.editModeStarted            -= new Action <IToolModeOwner, EditMode.SceneViewEditMode>(this.OnEditModeStart);
     EditMode.editModeEnded                    -= new Action <IToolModeOwner>(this.OnEditModeEnd);
     Tools.onToolChanged                        = (Tools.OnToolChangedFunc)Delegate.Remove(Tools.onToolChanged, new Tools.OnToolChangedFunc(this.ToolChanged));
     GridSelection.gridSelectionChanged        -= new Action(this.OnGridSelectionChanged);
     SceneView.onSceneGUIDelegate               = (SceneView.OnSceneFunc)Delegate.Remove(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(this.OnSceneViewGUI));
     GridPaintingState.scenePaintTargetChanged -= new Action <GameObject>(this.OnScenePaintTargetChanged);
     GridPaintingState.brushChanged            -= new Action <GridBrushBase>(this.OnBrushChanged);
     GridPaintingState.UnregisterPainterInterest(this);
     PrefabUtility.prefabInstanceUpdated = (PrefabUtility.PrefabInstanceUpdated)Delegate.Remove(PrefabUtility.prefabInstanceUpdated, new PrefabUtility.PrefabInstanceUpdated(this.PrefabInstanceUpdated));
 }
Пример #7
0
 public void OnEnable()
 {
     GridPaintPaletteWindow.instances.Add(this);
     if (this.clipboardView == null)
     {
         this.clipboardView           = ScriptableObject.CreateInstance <GridPaintPaletteClipboard>();
         this.clipboardView.owner     = this;
         this.clipboardView.hideFlags = HideFlags.HideAndDontSave;
         this.clipboardView.unlocked  = false;
     }
     if (this.m_PaintableSceneViewGrid == null)
     {
         this.m_PaintableSceneViewGrid           = ScriptableObject.CreateInstance <PaintableSceneViewGrid>();
         this.m_PaintableSceneViewGrid.hideFlags = HideFlags.HideAndDontSave;
     }
     GridPaletteBrushes.FlushCache();
     EditorApplication.globalEventHandler = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.globalEventHandler, new EditorApplication.CallbackFunction(this.HotkeyHandler));
     EditMode.editModeStarted            += new Action <IToolModeOwner, EditMode.SceneViewEditMode>(this.OnEditModeStart);
     EditMode.editModeEnded             += new Action <IToolModeOwner>(this.OnEditModeEnd);
     GridSelection.gridSelectionChanged += new Action(this.OnGridSelectionChanged);
     GridPaintingState.RegisterPainterInterest(this);
     GridPaintingState.scenePaintTargetChanged += new Action <GameObject>(this.OnScenePaintTargetChanged);
     GridPaintingState.brushChanged            += new Action <GridBrushBase>(this.OnBrushChanged);
     SceneView.onSceneGUIDelegate        = (SceneView.OnSceneFunc)Delegate.Combine(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(this.OnSceneViewGUI));
     PrefabUtility.prefabInstanceUpdated = (PrefabUtility.PrefabInstanceUpdated)Delegate.Combine(PrefabUtility.prefabInstanceUpdated, new PrefabUtility.PrefabInstanceUpdated(this.PrefabInstanceUpdated));
     AssetPreview.SetPreviewTextureCacheSize(256, base.GetInstanceID());
     base.wantsMouseMove             = true;
     base.wantsMouseEnterLeaveWindow = true;
     if (this.m_PreviewResizer == null)
     {
         this.m_PreviewResizer = new PreviewResizer();
         this.m_PreviewResizer.Init("TilemapBrushInspector");
     }
     base.minSize = new Vector2(240f, 200f);
     if (this.palette == null && TilemapEditorUserSettings.lastUsedPalette != null && GridPalettes.palettes.Contains(TilemapEditorUserSettings.lastUsedPalette))
     {
         this.palette = TilemapEditorUserSettings.lastUsedPalette;
     }
     Tools.onToolChanged = (Tools.OnToolChangedFunc)Delegate.Combine(Tools.onToolChanged, new Tools.OnToolChangedFunc(this.ToolChanged));
 }