public override void OnInspectorGUI() { myTarget = (SentinelPatrol)target; DrawDefaultInspector(); //var waypoints = serializedObject.FindProperty("WaypointPatrolList"); //EditorGUILayout.PropertyField(waypoints, new GUIContent("TEST EDITOR"), true); if (GUILayout.Button("ADD WAYPOINT")) { AddWaypoint(); } if (GUILayout.Button("REMOVE WAYPOINT")) { RemoveWaypoint(); } }
private void OnSceneGUI() { myTarget = (SentinelPatrol)target; if (myTarget.WaypointPatrolList != null) { for (int i = 0; i < myTarget.WaypointPatrolList.Count; i++) { if (myTarget.WaypointPatrolList[i] == null) { myTarget.WaypointPatrolList.RemoveAt(i); i--; } } Vector3[] newWaypointPosition = new Vector3[myTarget.WaypointPatrolList.Count]; EditorGUI.BeginChangeCheck(); for (int i = 0; i < newWaypointPosition.Length; i++) { newWaypointPosition[i] = Handles.PositionHandle(myTarget.WaypointPatrolList[i].transform.position, Quaternion.identity); } if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(myTarget, "Change Look At Target Position"); for (int i = 0; i < newWaypointPosition.Length; i++) { myTarget.WaypointPatrolList[i].transform.position = newWaypointPosition[i]; } //myTarget.Update(); } } }