public override void UnlockMesh() { m_lockMeshIntermediateState = LockMeshIntermediateStateEnum.PreUnlock; #if UNITY_EDITOR Undo.RecordObject(this, "Unlock Mesh (" + name + ")"); #endif base.UnlockMesh(); #if UNITY_EDITOR Undo.FlushUndoRecordObjects(); #endif RemoveComponentHelper <MeshCollider>(gameObject); RemoveComponentHelper <Rigidbody>(gameObject); RemoveComponentHelper <MeshFilter>(gameObject); RemoveComponentHelper <MeshRenderer>(gameObject); RemoveComponentHelper <SkinnedMeshRenderer>(gameObject); RemoveComponentHelper <MudLockedMeshRenderer>(gameObject); RemoveComponentHelper <MudStandardMeshRenderer>(gameObject); m_lockMeshIntermediateState = LockMeshIntermediateStateEnum.Idle; MeshGenerationLockOnStartByEditor = false; m_addedComponents = null; }
public override void LockMesh ( bool autoRigging, bool async, Mesh mesh = null, UVGenerationMode uvGeneration = UVGenerationMode.None ) { m_lockMeshIntermediateState = LockMeshIntermediateStateEnum.PreLock; #if UNITY_EDITOR Undo.RecordObject(this, "Lock Mesh (" + name + ")"); #endif base.LockMesh(autoRigging, async, mesh, uvGeneration); #if UNITY_EDITOR Undo.FlushUndoRecordObjects(); #endif switch (MeshGenerationRenderableMeshMode) { case RenderableMeshMode.None: break; case RenderableMeshMode.Procedural: MarkNeedsCompute(); break; case RenderableMeshMode.MeshRenderer: AddLockedStandardMesh(gameObject, autoRigging, async, mesh, uvGeneration); if (!async) { DisposeLocalResources(); } break; } m_lockMeshIntermediateState = LockMeshIntermediateStateEnum.PostLock; }