Exemple #1
0
    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();
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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();
    }