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)); }
IEnumerator TypeText(DialogueBase.characterInfo info) { isCurrentlyTyping = true; foreach (char c in info.characterScript.ToCharArray()) { yield return(new WaitForSeconds(delay)); dialogueCharacterScript.text += c; } isCurrentlyTyping = false; }