public override void OnInspectorGUI() { serializedObject.Update(); RenderInspectorHeader(); SerializedProperty events = serializedObject.FindProperty("Events"); if (events.arraySize < 1) { AddEvent(0); } else { for (int i = 0; i < events.arraySize; i++) { SerializedProperty eventItem = events.GetArrayElementAtIndex(i); bool canRemove = i > 0; if (InteractableEventInspector.RenderEvent(eventItem, canRemove)) { events.DeleteArrayElementAtIndex(i); // If removed, skip rendering rest of list till next redraw break; } } if (GUILayout.Button(new GUIContent("Add Event"))) { AddEvent(events.arraySize); } } serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); RenderInspectorHeader(); SerializedProperty events = serializedObject.FindProperty("Events"); if (events.arraySize < 1) { AddEvent(0); } else { SerializedProperty eventItem = events.GetArrayElementAtIndex(0); InteractableEventInspector.RenderEvent(eventItem, false); } serializedObject.ApplyModifiedProperties(); }