IEnumerator TalkRoutine() { if (!isReqOver && n.CheckMission("GoToMH")) { DialogueManager.Instance().StartDialogue(JH1); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(MH1); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(JH2); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(MH2); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(JH3); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(MH3); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(JH4); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(MH4); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(JH5); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(MH5); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); DialogueManager.Instance().StartDialogue(JH6); yield return(new WaitUntil(() => DialogueManager.Instance().canvasObj.activeSelf == false)); if (n) { n.RemoveMission("GoToMH"); n.AddMission("CheckFireEx"); isReqOver = true; } } else { DialogueManager.Instance().StartDialogue(reqOverDlg); } yield break; }