protected override void DrawReaction() { serializedObject.Update(); CheckAndCreateSubEditors(interactableCallback.conditionCollectionsText); for (int i = 0; i < subEditors.Length; i++) { subEditors[i].OnInspectorGUI(); EditorGUILayout.Space(); } EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Add Collection", GUILayout.Width(collectionButtonWidth))) { ConditionCollectionText newCollection = ConditionCollectionTextEditor.CreateConditionCollection(); collectionsProperty.AddToObjectArray(newCollection); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); serializedObject.ApplyModifiedProperties(); }
public static ConditionCollectionText CreateConditionCollection() { ConditionCollectionText newConditionCollection = CreateInstance <ConditionCollectionText>(); newConditionCollection.description = "New condition collection"; newConditionCollection.requiredConditions = new Condition[1]; newConditionCollection.requiredConditions[0] = ConditionEditor.CreateCondition(); return(newConditionCollection); }
private void OnEnable() { conditionCollection = (ConditionCollectionText)target; if (target == null) { DestroyImmediate(this); return; } descriptionProperty = serializedObject.FindProperty(conditionCollectionPropDescriptionName); conditionsProperty = serializedObject.FindProperty(conditionCollectionPropRequiredConditionsName); dialogueProperty = serializedObject.FindProperty(textReactionPropDialogueName); characterNameProperty = serializedObject.FindProperty(textReactionPropCharacterName); characterImageProperty = serializedObject.FindProperty(textReactionPropCharacterImage); CheckAndCreateSubEditors(conditionCollection.requiredConditions); }