void ResetData() { if (m_Data != null) { DestroyImmediate(m_Data); m_Data = null; } Initialise(); }
void Initialise() { // Create & attach scriptable object (allows undos, etc) if (m_Data == null) { m_Data = CreateInstance <LayerManagerData>(); m_Data.Initialise(); } // Get fixed layers m_FixedLayers = new string[8]; for (int i = 0; i < 8; ++i) { m_FixedLayers[i] = LayerMask.LayerToName(i); } // Create reorderable list m_LayerList = new ReorderableList( m_Data.serializedObject, m_Data.layerMapProperty, true, true, false, false ); m_LayerList.drawHeaderCallback = DrawLayerMapHeader; m_LayerList.drawElementCallback = DrawLayerMapElement; m_LayerList.elementHeight = lineHeight * 2 + lineSpacing * 3; m_LayerList.onReorderCallback = OnLayerMapReorder; // Reset state m_State = ManagerState.Editing; // Reset reporting m_SceneCount = 0; m_PrefabCount = 0; m_ObjectCount = 0; m_ComponentCount = 0; m_AssetCount = 0; m_LayerMaskCount = 0; m_PhysicsMatrixCompleted = false; m_Physics2DMatrixCompleted = false; m_Errors.Clear(); m_CompletionReport = string.Empty; }
public SerializedLayerMapEntry(LayerManagerData data, int index) { m_Data = data; serializedProperty = data.layerMapProperty.GetArrayElementAtIndex(index); }