Ejemplo n.º 1
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        DAS_Dialogue script = (DAS_Dialogue)target;

        script.inheritStyle = EditorGUILayout.Toggle("Inherit Style", script.inheritStyle);
        if (!script.inheritStyle)
        {
            script.title = EditorGUILayout.TextField("Title", script.title);
            script.photo = EditorGUILayout.ObjectField("Photo", script.photo, typeof(Sprite), true) as Sprite;
        }

        script.playSpecificSound = EditorGUILayout.Toggle("Play Specific Sound", script.playSpecificSound);
        if (script.playSpecificSound)
        {
            script.audioSource   = EditorGUILayout.ObjectField("Audio Source", script.audioSource, typeof(AudioSource), true) as AudioSource;
            script.specificSound = EditorGUILayout.ObjectField("Specific Sound", script.specificSound, typeof(AudioClip), true) as AudioClip;
        }

        script.animatePhrases = EditorGUILayout.Toggle("Animate Phrases", script.animatePhrases);
        if (script.animatePhrases)
        {
            script.playTypingSound = EditorGUILayout.Toggle("Play Typing Sound", script.playTypingSound);
        }


        script.jumpToDialogue = EditorGUILayout.Toggle("Jump To Dialogue", script.jumpToDialogue);
        if (script.jumpToDialogue)
        {
            script.targetDialogue = EditorGUILayout.ObjectField("Target Dialgoue", script.targetDialogue, typeof(DAS_Dialogue), true) as DAS_Dialogue;
        }
    }
Ejemplo n.º 2
0
    public void buildDialogueBox(DAS_DialogueBox dialogueBox, DAS_Dialogue dialogue, int phraseIndex = 0)
    {
        active = true;
        dialogueController.dialogueInCourse = true;
        disableOptions(dialogueBox);
        // If current dialogue has options, activate the bigger box
        if (dialogue.options.Length > 0)
        {
            dialogueBox.dialogueWithOptions.SetActive(true);
            dialogueBox.dialogueNoOptions.SetActive(false);
            // If single option, enable single option box
            if (dialogue.options.Length == 1)
            {
                dialogueBox.singleOptionBox.SetActive(true);
                dialogueBox.singleOptionText.text = dialogue.options[0].phrase;
            }
            // If two options, enable center option boxes
            else if (dialogue.options.Length == 2)
            {
                dialogueBox.option1CenterBox.SetActive(true);
                dialogueBox.option2CenterBox.SetActive(true);
                dialogueBox.option1CenterText.text = dialogue.options[0].phrase;
                dialogueBox.option2CenterText.text = dialogue.options[1].phrase;
            }
            // If more than two options, enable corresponding boxes
            else
            {
                dialogueBox.option1Box.SetActive(true);
                dialogueBox.option2Box.SetActive(true);
                dialogueBox.option3Box.SetActive(true);
                dialogueBox.option1Text.text = dialogue.options[0].phrase;
                dialogueBox.option2Text.text = dialogue.options[1].phrase;
                dialogueBox.option3Text.text = dialogue.options[2].phrase;
                if (dialogue.options.Length > 3)
                {
                    dialogueBox.option4Box.SetActive(true);
                    dialogueBox.option4Text.text = dialogue.options[3].phrase;
                }
            }
        }
        // If there is no option, active smaller box
        else
        {
            dialogueBox.dialogueWithOptions.SetActive(false);
            dialogueBox.dialogueNoOptions.SetActive(true);
        }

        // If current dialogue inherits style, use photo and title of this
        if (dialogue.inheritStyle)
        {
            assignPhotoAndTexts(dialogueBox, this.photo, this.title, dialogue.phrases[phraseIndex]);
        }
        else // If it doesnt inherit, use photo and title of current dialogue
        {
            assignPhotoAndTexts(dialogueBox, dialogue.photo, dialogue.title, dialogue.phrases[phraseIndex]);
        }
    }
Ejemplo n.º 3
0
    // A dialogue can call a specific dialogue that is not in sequence
    public void callSpecificDialogue(DAS_Dialogue dialogue)
    {
        active = true;
        dialogueController.dialogueInCourse = true;
        int diagIndex = 0;

        // Search the index number for the provided dialogue
        for (int i = 0; i < dialogues.Length; i++)
        {
            if (dialogues[i] == dialogue)
            {
                diagIndex = i;
            }
        }
        currentPhraseIndex   = 0;
        currentDialogueIndex = diagIndex;
        buildDialogueBox(dialogueBox, dialogues[currentDialogueIndex], currentPhraseIndex);
        dialogues[currentDialogueIndex].playSound();
        dialogueBox.playDialogueBoxSound();
        dialogueBox.showUpAnimation();
    }