void ShowPath() { for (int i = 0; i < script.pathList.Count; i++) { Action delAction = () => { script.pathList.RemoveAt(i); }; if (script.pathList[i] == null || string.IsNullOrEmpty(script.pathList[i].pathName)) { continue; } if (CustomGUI.HeaderButton(script.pathList[i].pathName, null, delAction)) { script.selected = script.pathList[i]; script.selected.pointSize = EditorGUILayout.Slider("Point Size", script.selected.pointSize, 0.1f, 3f); script.selected.lineColor = EditorGUILayout.ColorField("Path Color", script.selected.lineColor); script.selected.lineType = (PathLineType)EditorGUILayout.EnumPopup("Path Type", script.selected.lineType); List <Vector3> wayPointList = script.selected.points; if (wayPointList.Count > 0) { GUILayout.BeginHorizontal(); { float fDepth = EditorGUILayout.FloatField("Path Depth", wayPointList[0].z); if (wayPointList[0].z != fDepth) { SetWaypointDepth(fDepth); } if (GUILayout.Button("Depth +")) { SetWaypointDepth(fDepth + 1); } if (GUILayout.Button("Depth -")) { SetWaypointDepth(fDepth - 1); } } GUILayout.EndHorizontal(); } int count = 0; for (int j = 0; j < wayPointList.Count; j++) { GUILayout.BeginHorizontal(); { wayPointList[j] = EditorGUILayout.Vector3Field("Point " + count++, wayPointList[j]); if (GUILayout.Button("+", GUILayout.Width(25f))) { AddWaypoint(wayPointList[j] + Vector3.right + Vector3.up, j + 1); } if (GUILayout.Button("-", GUILayout.Width(25f))) { DeleteWaypoint(j); } } GUILayout.EndHorizontal(); } } } }