IEnumerator Speaking(string speech, bool additive, string speaker = "") { PannelSpeech.SetActive(true); targetSpeech = speech; if (!additive) { speechText.text = ""; } else { targetSpeech = speechText.text + targetSpeech; } speakerNameText.text = DetermineSpeaker(speaker);//temporary(臨時) isWaitingForUserInput = false; while (speechText.text != targetSpeech) { speechText.text += targetSpeech[speechText.text.Length - 1]; yield return(new WaitForEndOfFrame()); } //text finished isWaitingForUserInput = true; while (isWaitingForUserInput) { yield return(new WaitForEndOfFrame()); } StopSpeaking(); }
//close the entire speech panel.Stop all dialogue. public void Close() { StopSpeaking(); PannelSpeech.SetActive(false); }