public void Disable() { // Debug.Log("disable"); if (m_enabled) { m_enabled = false; // SetCurrentTool(Tool.PAINT); if (m_blockMap == null) { return; } UpdateVisibleLayers(true); Renderer[] renderers = m_blockMap.GetComponentsInChildren <Renderer>(true); foreach (Renderer renderer in renderers) { EditorUtility.SetSelectedRenderState(renderer, EditorSelectedRenderState.Wireframe); // EditorUtility.SetSelectedWireframeHidden(renderer, false); } m_prefabNavigation.OnFolderChanged -= LoadCurrentRandomBrushFlags; m_blockMap.m_prefab = m_currentPrefab; m_blockMap.m_bLocked = false; CalculateBounds(); RemoveEmptyLayers(); } }
public void Enable(GNBlockMap blockMap) { if (!m_enabled) { m_prefabNavigation = new GNPrefabNavigation(); if (m_currentPrefab != null) { m_prefabNavigation.SetCurrentPrefabPathFromPrefab(m_currentPrefab); } m_blockMap = blockMap; m_blockMap.m_bLocked = true; // Undo.RecordObject(m_blockMap, "Scene Save Enforcement"); // EditorUtility.SetDirty(m_blockMap); // UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(); m_enabled = true; UpdateCurrentCell(); UpdateVisibleLayers(false); ResetSelectedBox(); Renderer[] renderers = blockMap.GetComponentsInChildren <Renderer>(true); foreach (Renderer renderer in renderers) { EditorUtility.SetSelectedRenderState(renderer, EditorSelectedRenderState.Hidden); // EditorUtility.SetSelectedWireframeHidden(renderer, true); } m_prefabNavigation.OnFolderChanged += LoadCurrentRandomBrushFlags; MoveChildrenToCorrectTargetLayers(); EditorUtility.SetDirty(m_blockMap); if (!m_currentPrefab) { SelectPrefab(m_blockMap.m_prefab); m_prefabNavigation.SetCurrentPrefabPathFromPrefab(m_currentPrefab); } } }