IEnumerator ShowDialog() { foreach (DynValue x in m_LuaCoroutine.Coroutine.AsTypedEnumerable()) { //DynValue x = coroutine.Coroutine.Resume(); if (x.IsNotVoid()) { //m_Text.text = x.CastToString(); m_CurMsg = ""; m_iNum = 0; //var textPut = StartCoroutine( PutText(x.CastToString()) ); var textPut = StartCoroutine( PutText(m_Lua.Globals["g_TalkWords"].ToString()) ); m_Name.text = m_Lua.Globals["g_TalkChara"].ToString(); //m_Text.text = m_CurMsg; Debug.Log(x); yield return textPut; switch (WaitKey) { case EZ_WAIT_KEY._NONE: yield return null; break; case EZ_WAIT_KEY.TIME: yield return new WaitForSeconds(3); break; case EZ_WAIT_KEY.KEY: yield return new WaitUntil(() => Input.anyKeyDown); break; } } } }