예제 #1
0
    public void dequeueDialogue()
    {
        if (isCurrentlyTyping)
        {
            if (buffer)
            {
                return;
            }
            CompleteText();
            StopAllCoroutines();
            isCurrentlyTyping = false;
            return;
        }

        if (characterInfo.Count == 0)
        {
            endDialogue();
            return;
        }

        DialogueBase.characterInfo info = characterInfo.Dequeue();
        completeText = info.characterScript;

        dialogueCharacterName.text    = info.characterName;
        dialogueCharacterScript.text  = info.characterScript;
        dialogueCharacterImage.sprite = info.characterImage;

        dialogueCharacterScript.text = "";
        StartCoroutine(TypeText(info));
    }
예제 #2
0
    IEnumerator TypeText(DialogueBase.characterInfo info)
    {
        isCurrentlyTyping = true;
        foreach (char c in info.characterScript.ToCharArray())
        {
            yield return(new WaitForSeconds(delay));

            dialogueCharacterScript.text += c;
        }

        isCurrentlyTyping = false;
    }