public void Init(MeshSelection s, EditableMesh m) { m_Selection = s; m_EditMesh = m; // connect events m_Selection.evtSelectionChanged += this.OnSelectionChanged; MeshUndoer.AddDeleMeshModified(this.OnMeshModified); m_VertMarker = new VertMarker(); Material vertBillboardMat = AssetDatabase.LoadAssetAtPath(VertBillboardMatPath, typeof(Material)) as Material; Dbg.Assert(vertBillboardMat != null, "MeshMaker.Init: failed to load vertBillboard Material at {0}", VertBillboardMatPath); m_VertMarker.Init(vertBillboardMat, 0); m_EdgeMarker = new EdgeMarker(); Material edgeMat = AssetDatabase.LoadAssetAtPath(EdgeMatPath, typeof(Material)) as Material; Dbg.Assert(edgeMat != null, "MeshMaker.Init: failed to load edge Material at {0}", EdgeMatPath); m_EdgeMarker.Init(edgeMat); _PrepareEdgeIndices(); m_TriMarker = new TriMarker(); m_TriMarker.Init(); EUtil.SetEnableWireframe(m.renderer, false); //EditorUtility.SetSelectedWireframeHidden(m.renderer, true); //hide the wireframe }
// "private methods" private static MeshUndoer _ForceGetUndoer(Mesh m) { MeshUndoer undoer = null; if (!ms_UndoDict.TryGetValue(m, out undoer)) { undoer = ScriptableObject.CreateInstance <MeshUndoer>(); undoer.Init(m); ms_UndoDict.Add(m, undoer); } return(undoer); }
public void Init(EditableMesh mesh, MeshSelection sel, EditorCursor cursor) { m_EditMesh = mesh; m_MeshTr = m_EditMesh.transform; m_Selection = sel; m_Cursor = cursor; m_WorldPos = m_MeshTr.position; m_WorldRot = m_MeshTr.rotation; //m_PivotOp = PivotOp.Midian; //m_Orient = Orientation.Local; MeshUndoer.AddDeleMeshModified(this._OnMeshModified); m_Selection.evtSelectionChanged += this._OnSelectionChanged; EditorCursor.evtCursorPosChanged += this._OnCursorPosChanged; }
public void Fini() { EditorUtility.SetSelectedWireframeHidden(m_EditMesh.renderer, false); //show the wireframe m_TriMarker.Fini(); m_TriMarker = null; m_EdgeMarker.Fini(); m_EdgeMarker = null; m_VertMarker.Fini(); m_VertMarker = null; MeshUndoer.DelDeleMeshModified(this.OnMeshModified); m_Selection.evtSelectionChanged -= this.OnSelectionChanged; }
public static void SetVertices(Mesh m, Vector3[] verts) { MeshUndoer undoer = _ForceGetUndoer(m); undoer.SetVerts(verts); }
// "public methods" public static void SetEnableRecord(Mesh m, bool bEnable) { MeshUndoer undoer = _ForceGetUndoer(m); undoer.SetEnableRecord(bEnable); }
public void Fini() { EditorCursor.evtCursorPosChanged -= this._OnCursorPosChanged; m_Selection.evtSelectionChanged -= this._OnSelectionChanged; MeshUndoer.DelDeleMeshModified(this._OnMeshModified); }