public void ClearData() { int count; count = builderNodes.Count; for (int i = 0; i < count; i++) { BuilderCore.DeleteNode(BuilderData.Data.builderNodes [0]); } count = sectionNodes.Count; for (int i = 0; i < count; i++) { GameObject o = BuilderData.Data.sectionNodes [0].gameObject; sectionNodes.RemoveAt(0); DestroyImmediate(o); } count = BuilderData.Data.bezierHandles.Count; for (int i = 0; i < count; i++) { GameObject o = BuilderData.Data.bezierHandles [0].gameObject; BuilderData.Data.bezierHandles.RemoveAt(0); DestroyImmediate(o); } }
public override void OnInspectorGUI() { serializedObject.Update(); base.OnInspectorGUI(); Transform[] selectedObjs = Selection.transforms; if (GUILayout.Button("挤出")) { Selection.activeGameObject = ((BuilderNode)serializedObject.targetObject).Extrude(); } if (GUILayout.Button("删除")) { BuilderCore.DeleteNode((BuilderNode)serializedObject.targetObject); Selection.activeObject = BuilderData.Data.gameObject; return; } if (selectedObjs.Length == 2 && selectedObjs [0].GetComponent <BuilderNode> () != null && selectedObjs [1].GetComponent <BuilderNode> () != null) { if (GUILayout.Button("连接")) { BuilderCore.LinkNode(Selection.transforms [0].GetComponent <BuilderNode> ().builderNodeId, Selection.transforms [1].GetComponent <BuilderNode> ().builderNodeId); } if (GUILayout.Button("断开")) { BuilderCore.BreakLink(Selection.transforms [0].GetComponent <BuilderNode> ().builderNodeId, Selection.transforms [1].GetComponent <BuilderNode> ().builderNodeId); } } if (GUILayout.Button("整理冗余点和交叉口")) { for (int i = 0; i < BuilderData.Data.lineSetMap.Count; i++) { BuilderCore.MergeIntersection(); BuilderCore.RemoveDouble(); } BuilderCore.RefreshSectionNodes(); } serializedObject.ApplyModifiedProperties(); }