protected void BeginEdit(string undoMessage) { if (m_IsEditing) { return; } // Disable iterative lightmapping Lightmapping.PushGIWorkflowMode(); var selection = MeshSelection.topInternal.ToArray(); UndoUtility.RegisterCompleteObjectUndo(selection, string.IsNullOrEmpty(undoMessage) ? "Modify Vertices" : undoMessage); if (beforeMeshModification != null) { beforeMeshModification(selection); } if (currentEvent.shift) { Extrude(); } m_IsEditing = true; m_ProgridsSnapEnabled = ProGridsInterface.SnapEnabled(); m_ProgridsSnapValue = ProGridsInterface.SnapValue(); m_SnapAxisConstraint = ProGridsInterface.UseAxisConstraints(); foreach (var mesh in selection) { mesh.ToMesh(); mesh.Refresh(); } OnToolEngaged(); }