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);
 }