public override void OnInspectorGUI() { DrawDefaultInspector(); switch (terrainEditor.Mode) { case TerrainEditorMode.VERTEXEDIT: if (GUILayout.Button("Set Transform Mode On")) { terrainEditor.Mode = TerrainEditorMode.TRANFORMEDIT; Tools.current = Tool.Move; } if (GUILayout.Button("Turn on Add Vertex Mode")) { terrainEditor.Mode = TerrainEditorMode.ADDVERTEX; Tools.current = Tool.Move; } break; case TerrainEditorMode.ADDVERTEX: if (GUILayout.Button("Set Transform Mode On")) { terrainEditor.Mode = TerrainEditorMode.TRANFORMEDIT; Tools.current = Tool.Move; } if (GUILayout.Button("Turn off Add Vertex Mode")) { terrainEditor.Mode = TerrainEditorMode.VERTEXEDIT; Tools.current = Tool.Move; } break; case TerrainEditorMode.TRANFORMEDIT: if (GUILayout.Button("Set Transform Mode Off")) { terrainEditor.Mode = TerrainEditorMode.VERTEXEDIT; Tools.current = Tool.Move; } if (GUILayout.Button("Turn on Add Vertex Mode")) { terrainEditor.Mode = TerrainEditorMode.ADDVERTEX; Tools.current = Tool.Move; } break; } if (GUILayout.Button("Clear Terrain")) { terrainEditor.ClearMesh(); VertexHandleUtility.ClearList(); } }
public Vector3 GetVertexOnClick(Vector3 position) { if (triangluator == null) { triangluator = new Triangulator(); } Vector3 V = transform.InverseTransformPoint(new Vector3(position.x, position.y, 1.0f)); VertexHandle VertHand = VertexHandleUtility.AddToList(V, VertexHandleUtility.VertexList.Count); VertHand.CorrectForTransfrom(transform.position); GenerateMesh(); return(V); }
private void OnEnable() { terrainEditor = (TerrainEd)target; VertexHandleUtility.Initialize(); }