public override void OnInspectorGUI() { serializedObject.Update(); var condition = target as Condition; SerializedProperty prop = serializedObject.FindProperty("m_Script"); EditorGUILayout.PropertyField(prop, true, new GUILayoutOption[0]); //-------Condition Identifier CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("Condition Idenitifer", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ConditionId"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ConditionDescription"), true); //-------Condition Data CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("Condition Data", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.LabelField("Condition where certain Quest need to be complete/uncomplete", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_NeedQuest"), true); if (condition.NeedQuest == true) { EditorGUILayout.PropertyField(serializedObject.FindProperty("m_QuestDictionary"), true); } EditorGUILayout.Space(); EditorGUILayout.LabelField("Condition where certain Item need to be obtained/unobtained", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_NeedItem"), true); if (condition.NeedItem == true) { EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ItemDictionary"), true); } EditorGUILayout.Space(); EditorGUILayout.LabelField("Condition where certain Dialogue need to be fufilled", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_NeedDialoguePerformed"), true); if (condition.NeedDialoguePerformed == true) { EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialoguePerformedList"), true); } CustomEditorResource.DrawUILine(Color.gray); if (GUI.changed) { EditorUtility.SetDirty(target); } serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); var npc = target as NPC; SerializedProperty prop = serializedObject.FindProperty("m_Script"); EditorGUILayout.PropertyField(prop, true, new GUILayoutOption[0]); //-------NPC Identifier CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("NPC Idenitifer", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_NPCId"), true); //-------NPC Data CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("NPC Data", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.LabelField("Name of the NPC", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_NPCName"), true); EditorGUILayout.LabelField("Text That appears before you talk to the NPC", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_NPCPrefaceText"), true); EditorGUILayout.LabelField("Dialogue of the NPC and what the Dialogue is used for", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueList"), true); EditorGUILayout.LabelField("Can the Player interact with the NPC?", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_IsInteractable"), true); EditorGUILayout.LabelField("Text that appears when player hover over the NPC", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_InteractionText"), true); CustomEditorResource.DrawUILine(Color.gray); if (GUI.changed) { EditorUtility.SetDirty(target); } serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); var dialogue = target as Dialogue; SerializedProperty prop = serializedObject.FindProperty("m_Script"); EditorGUILayout.PropertyField(prop, true, new GUILayoutOption[0]); //Dialogue Idenitifer CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("Dialogue Idenitifer", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueGroupID"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueID"), true); EditorGUILayout.LabelField("Identify Where Dialogue is in the Chain", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialgoueIdentifier"), true); EditorGUILayout.LabelField("Identify what the Dialogue is used for", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueUsage"), true); //Dialogue Data CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("Dialogue Data", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.LabelField("Condition for if the Dialogue will be shown", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueCondition"), true); EditorGUILayout.LabelField("Identify whether Dialogue is a Chat Option or NPC Response", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueType"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueText"), true); dialogue.DialogueConnectionType = (E_DialogueConnectionType)EditorGUILayout.EnumPopup("Dialogue Connection Type", dialogue.DialogueConnectionType); switch (dialogue.DialogueConnectionType) { case E_DialogueConnectionType.Chat: EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueChatList"), true); break; case E_DialogueConnectionType.Response: EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueResponse"), true); break; } //Dialogue Special CustomEditorResource.DrawUILine(Color.gray); EditorGUILayout.LabelField("Dialogue Special", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.LabelField("Condition for if the Dialogue will be shown", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_HasInfoPopUp"), true); if (dialogue.HasInfoPopUp == true) { EditorGUILayout.PropertyField(serializedObject.FindProperty("m_InfoPopUpList"), true); } EditorGUILayout.LabelField("Special action that activates at end of Dialogue", EditorStyles.miniBoldLabel); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_DialogueSpecialAction"), true); switch (dialogue.DialogueSpecialAction) { case E_DialogueSpecialAction.None: break; case E_DialogueSpecialAction.AddQuest: EditorGUILayout.PropertyField(serializedObject.FindProperty("m_AddQuest"), true); break; case E_DialogueSpecialAction.CompleteQuest: EditorGUILayout.PropertyField(serializedObject.FindProperty("m_SetQuestComplete"), true); break; } CustomEditorResource.DrawUILine(Color.gray); if (GUI.changed) { EditorUtility.SetDirty(target); } serializedObject.ApplyModifiedProperties(); }