public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { SerializedProperty conversationProp = property.FindPropertyRelative("conversation"); SerializedProperty jumpToSpecificEntryProp = property.FindPropertyRelative("jumpToSpecificEntry"); SerializedProperty entryIDProp = property.FindPropertyRelative("entryID"); Rect singleFieldRect = new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight); EditorGUI.PropertyField(singleFieldRect, conversationProp); singleFieldRect.y += EditorGUIUtility.singleLineHeight; EditorGUI.PropertyField(singleFieldRect, jumpToSpecificEntryProp); if (jumpToSpecificEntryProp.boolValue) { singleFieldRect.y += EditorGUIUtility.singleLineHeight; if (entryPicker == null) { entryPicker = new DialogueEntryPicker(conversationProp.stringValue); } if (entryPicker.isValid) { entryIDProp.intValue = entryPicker.Draw(singleFieldRect, "Entry ID", entryIDProp.intValue); } else { EditorGUI.PropertyField(singleFieldRect, entryIDProp); } } }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { SerializedProperty conversationProp = property.FindPropertyRelative(nameof(StartConversationBehaviour.conversation)); SerializedProperty jumpToSpecificEntryProp = property.FindPropertyRelative(nameof(StartConversationBehaviour.jumpToSpecificEntry)); SerializedProperty entryIDProp = property.FindPropertyRelative(nameof(StartConversationBehaviour.entryID)); Rect singleFieldRect = new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight); if (GUI.Button(singleFieldRect, "Update Duration")) { UpdateLength(conversationProp.stringValue, jumpToSpecificEntryProp.boolValue, entryIDProp.intValue); } singleFieldRect.y += EditorGUIUtility.singleLineHeight; EditorGUI.PropertyField(singleFieldRect, conversationProp); singleFieldRect.y += EditorGUIUtility.singleLineHeight; EditorGUI.PropertyField(singleFieldRect, jumpToSpecificEntryProp); if (jumpToSpecificEntryProp.boolValue) { singleFieldRect.y += EditorGUIUtility.singleLineHeight; if (entryPicker == null) { entryPicker = new DialogueEntryPicker(conversationProp.stringValue); } if (entryPicker.isValid) { entryIDProp.intValue = entryPicker.Draw(singleFieldRect, "Entry ID", entryIDProp.intValue); } else { EditorGUI.PropertyField(singleFieldRect, entryIDProp); } } }