|  | @@ -407,6 +407,12 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              _ui.m_list.visible = false;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        //private int num = 0;
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// 初始化对话框/语音/CG等
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="storyDialogCfg"></param>
 | 
	
		
			
				|  |  | +        /// <returns></returns>
 | 
	
		
			
				|  |  |          private IEnumerator ShowDialog(StoryDialogCfg storyDialogCfg)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              if (storyDialogCfg.showChangeName == 1 && StorageDataManager.Instance.GetStorageValue(ConstStorageId.CHANGE_NAME) == 0)
 | 
	
	
		
			
				|  | @@ -432,139 +438,154 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              string roleName = storyDialogCfg.name;
 | 
	
		
			
				|  |  |              string headRes = storyDialogCfg.head;
 | 
	
		
			
				|  |  |              string headAniRes = storyDialogCfg.headAni;
 | 
	
		
			
				|  |  | +            string[] effectInfo = storyDialogCfg.effectInfoArr;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              VoiceManager.Instance.StopVoice();
 | 
	
		
			
				|  |  |              // 如果配置了语音,读取语音
 | 
	
		
			
				|  |  |              VoiceManager.Instance.LoadRes(ResPathUtil.GetCardSoundPath("test", "wav"));
 | 
	
		
			
				|  |  | +            _wordList = Regex.Split(words, "&&");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if (roleName == "self")
 | 
	
		
			
				|  |  | +            //++num;
 | 
	
		
			
				|  |  | +            // 没有对话
 | 
	
		
			
				|  |  | +            if (_wordList.Length == 0)
 | 
	
		
			
				|  |  | +            //if (num == 1)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                roleName = RoleDataManager.roleName;
 | 
	
		
			
				|  |  | +                // 等待CG播放完毕直接进入下一段
 | 
	
		
			
				|  |  | +                //Timers.inst.StartCoroutine(WaitCGAnimFinish());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            //回顾
 | 
	
		
			
				|  |  | -            if (roleName != null)
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                _dialogListLookBack.Add("[color=#FDA2B1]" + roleName + "[/color]");
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (!string.IsNullOrEmpty(headAniRes) || storyDialogCfg.suitId > 0)
 | 
	
		
			
				|  |  | +            // 有对话
 | 
	
		
			
				|  |  | +            else
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                //显示对话框半身像
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.target.visible = true;
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_txtName.text = roleName;
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_comphead.m_head.visible = false;
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_comphead.m_holder.visible = true;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                var headAniCfg = HeadAniCfgArray.Instance.GetCfg(headAniRes);
 | 
	
		
			
				|  |  | -                if (headAniCfg != null && !string.IsNullOrEmpty(headAniCfg.headAni))
 | 
	
		
			
				|  |  | +                if (roleName == "self")
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    //独立动画
 | 
	
		
			
				|  |  | -                    _ui.m_dialogHead.m_compDressUp.target.visible = false;
 | 
	
		
			
				|  |  | -                    _ui.m_dialogHead.m_comphead.target.visible = true;
 | 
	
		
			
				|  |  | -                    _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_dialogHead.m_comphead.m_holder, "ui_nzbq", headAniCfg.headAni);
 | 
	
		
			
				|  |  | +                    roleName = RoleDataManager.roleName;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                else
 | 
	
		
			
				|  |  | +                //回顾
 | 
	
		
			
				|  |  | +                if (roleName != null)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    _dialogListLookBack.Add("[color=#FDA2B1]" + roleName + "[/color]");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (!string.IsNullOrEmpty(headAniRes) || storyDialogCfg.suitId > 0)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    //换装
 | 
	
		
			
				|  |  | -                    _ui.m_dialogHead.m_compDressUp.target.visible = true;
 | 
	
		
			
				|  |  | -                    _ui.m_dialogHead.m_comphead.target.visible = false;
 | 
	
		
			
				|  |  | -                    _dressUpObjUI.ResetSceneObj(80, true, false, null, false);
 | 
	
		
			
				|  |  | -                    if (storyDialogCfg.suitId > 0)
 | 
	
		
			
				|  |  | +                    //显示对话框半身像
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.target.visible = true;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_txtName.text = roleName;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_comphead.m_head.visible = false;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_comphead.m_holder.visible = true;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    var headAniCfg = HeadAniCfgArray.Instance.GetCfg(headAniRes);
 | 
	
		
			
				|  |  | +                    if (headAniCfg != null && !string.IsNullOrEmpty(headAniCfg.headAni))
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -                        _dressUpObjUI.dressUpObj.PutOnSuitCfg(storyDialogCfg.suitId, false, new int[] { ConstDressUpItemType.SHOU_CHI_WU }, false, false);
 | 
	
		
			
				|  |  | +                        //独立动画
 | 
	
		
			
				|  |  | +                        _ui.m_dialogHead.m_compDressUp.target.visible = false;
 | 
	
		
			
				|  |  | +                        _ui.m_dialogHead.m_comphead.target.visible = true;
 | 
	
		
			
				|  |  | +                        _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_dialogHead.m_comphead.m_holder, "ui_nzbq", headAniCfg.headAni);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      else
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -                        _dressUpObjUI.dressUpObj.PutOnDressUpData(CustomSuitDataManager.GetCurrentSuitData().dressUpData, new int[] { ConstDressUpItemType.SHOU_CHI_WU });
 | 
	
		
			
				|  |  | -                        if (_dressUpObjUI.dressUpObj.actionId > 0)
 | 
	
		
			
				|  |  | +                        //换装
 | 
	
		
			
				|  |  | +                        _ui.m_dialogHead.m_compDressUp.target.visible = true;
 | 
	
		
			
				|  |  | +                        _ui.m_dialogHead.m_comphead.target.visible = false;
 | 
	
		
			
				|  |  | +                        _dressUpObjUI.ResetSceneObj(80, true, false, null, false);
 | 
	
		
			
				|  |  | +                        if (storyDialogCfg.suitId > 0)
 | 
	
		
			
				|  |  |                          {
 | 
	
		
			
				|  |  | -                            _dressUpObjUI.dressUpObj.CancelAction(true, new int[] { ConstDressUpItemType.SHOU_CHI_WU });
 | 
	
		
			
				|  |  | +                            _dressUpObjUI.dressUpObj.PutOnSuitCfg(storyDialogCfg.suitId, false, new int[] { ConstDressUpItemType.SHOU_CHI_WU }, false, false);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            _dressUpObjUI.dressUpObj.PutOnDressUpData(CustomSuitDataManager.GetCurrentSuitData().dressUpData, new int[] { ConstDressUpItemType.SHOU_CHI_WU });
 | 
	
		
			
				|  |  | +                            if (_dressUpObjUI.dressUpObj.actionId > 0)
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                _dressUpObjUI.dressUpObj.CancelAction(true, new int[] { ConstDressUpItemType.SHOU_CHI_WU });
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (headAniCfg != null && headAniCfg.faceId > 0)
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            //表情
 | 
	
		
			
				|  |  | +                            _dressUpObjUI.dressUpObj.AddOrRemove(headAniCfg.faceId, true);
 | 
	
		
			
				|  |  | +                            _dressUpObjUI.UpdateWrapper(_ui.m_dialogHead.m_compDressUp.m_holder);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if (headAniCfg != null && headAniCfg.faceId > 0)
 | 
	
		
			
				|  |  | -                    {
 | 
	
		
			
				|  |  | -                        //表情
 | 
	
		
			
				|  |  | -                        _dressUpObjUI.dressUpObj.AddOrRemove(headAniCfg.faceId, true);
 | 
	
		
			
				|  |  | -                        _dressUpObjUI.UpdateWrapper(_ui.m_dialogHead.m_compDressUp.m_holder);
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | +                    _wordTextField = _ui.m_dialogHead.m_txtContent;
 | 
	
		
			
				|  |  | +                    _arrow = _ui.m_dialogHead.m_iconNext;
 | 
	
		
			
				|  |  | +                    lastTextFieldType = "head";
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                _wordTextField = _ui.m_dialogHead.m_txtContent;
 | 
	
		
			
				|  |  | -                _arrow = _ui.m_dialogHead.m_iconNext;
 | 
	
		
			
				|  |  | -                lastTextFieldType = "head";
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            else if (!string.IsNullOrEmpty(headRes))
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.target.visible = true;
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_txtName.text = roleName;
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_comphead.m_head.visible = true;
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_comphead.m_holder.visible = false;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                _ui.m_dialogHead.m_comphead.m_head.url = ResPathUtil.GetNpcHeadPath(headRes);
 | 
	
		
			
				|  |  | -                _wordTextField = _ui.m_dialogHead.m_txtContent;
 | 
	
		
			
				|  |  | -                _arrow = _ui.m_dialogHead.m_iconNext;
 | 
	
		
			
				|  |  | -                lastTextFieldType = "head";
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            else if (!string.IsNullOrEmpty(roleName))
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                _ui.m_dialogName.target.visible = true;
 | 
	
		
			
				|  |  | -                if (IsTeaParty)
 | 
	
		
			
				|  |  | +                else if (!string.IsNullOrEmpty(headRes))
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
 | 
	
		
			
				|  |  | -                    var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
 | 
	
		
			
				|  |  | -                    int roleIndex = Convert.ToInt32(roleName);
 | 
	
		
			
				|  |  | -                    _ui.m_dialogName.m_txtName.text = teapartyRoleCfg[roleIndex - 1].name;
 | 
	
		
			
				|  |  | -                    _ui.m_dialogName.m_bgType.selectedIndex = 1;
 | 
	
		
			
				|  |  | -                    _ui.m_dialogName.m_showArrow.selectedIndex = 1;
 | 
	
		
			
				|  |  | -                    
 | 
	
		
			
				|  |  | -                    if (roleIndex <= roleContainerList.Count && roleContainerList[roleIndex - 1].MaxScoreRoleName != null && roleContainerList[roleIndex - 1].MaxScoreRoleName != "" && _ui.m_dialogName.m_txtName.text != "")
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.target.visible = true;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_txtName.text = roleName;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_comphead.m_head.visible = true;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_comphead.m_holder.visible = false;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    _ui.m_dialogHead.m_comphead.m_head.url = ResPathUtil.GetNpcHeadPath(headRes);
 | 
	
		
			
				|  |  | +                    _wordTextField = _ui.m_dialogHead.m_txtContent;
 | 
	
		
			
				|  |  | +                    _arrow = _ui.m_dialogHead.m_iconNext;
 | 
	
		
			
				|  |  | +                    lastTextFieldType = "head";
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else if (!string.IsNullOrEmpty(roleName))
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    _ui.m_dialogName.target.visible = true;
 | 
	
		
			
				|  |  | +                    if (IsTeaParty)
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -                        _ui.m_comPlayName.visible = true;
 | 
	
		
			
				|  |  | -                        _ui.m_txtPlayName.text = roleContainerList[roleIndex - 1].MaxScoreRoleName;
 | 
	
		
			
				|  |  | +                        var roleContainerList = LeagueDataManager.Instance.RoleContainerList;
 | 
	
		
			
				|  |  | +                        var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
 | 
	
		
			
				|  |  | +                        int roleIndex = Convert.ToInt32(roleName);
 | 
	
		
			
				|  |  | +                        _ui.m_dialogName.m_txtName.text = teapartyRoleCfg[roleIndex - 1].name;
 | 
	
		
			
				|  |  | +                        _ui.m_dialogName.m_bgType.selectedIndex = 1;
 | 
	
		
			
				|  |  | +                        _ui.m_dialogName.m_showArrow.selectedIndex = 1;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        if (roleIndex <= roleContainerList.Count && roleContainerList[roleIndex - 1].MaxScoreRoleName != null && roleContainerList[roleIndex - 1].MaxScoreRoleName != "" && _ui.m_dialogName.m_txtName.text != "")
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            _ui.m_comPlayName.visible = true;
 | 
	
		
			
				|  |  | +                            _ui.m_txtPlayName.text = roleContainerList[roleIndex - 1].MaxScoreRoleName;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        if (_ui.m_txtPlayName.text == RoleDataManager.roleName)
 | 
	
		
			
				|  |  | -                            _ui.m_dialogName.m_bgType.selectedIndex = 0;
 | 
	
		
			
				|  |  | +                            if (_ui.m_txtPlayName.text == RoleDataManager.roleName)
 | 
	
		
			
				|  |  | +                                _ui.m_dialogName.m_bgType.selectedIndex = 0;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else
 | 
	
		
			
				|  |  | +                            _ui.m_comPlayName.visible = false;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    else
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        _ui.m_dialogName.m_bgType.selectedIndex = 0;
 | 
	
		
			
				|  |  | +                        _ui.m_dialogName.m_showArrow.selectedIndex = 0;
 | 
	
		
			
				|  |  | +                        _ui.m_dialogName.m_txtName.text = roleName;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    else 
 | 
	
		
			
				|  |  | -                        _ui.m_comPlayName.visible = false;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                else { 
 | 
	
		
			
				|  |  | -                    _ui.m_dialogName.m_bgType.selectedIndex = 0;
 | 
	
		
			
				|  |  | -                    _ui.m_dialogName.m_showArrow.selectedIndex = 0;
 | 
	
		
			
				|  |  | -                    _ui.m_dialogName.m_txtName.text = roleName;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                _wordTextField = _ui.m_dialogName.m_txtContent;
 | 
	
		
			
				|  |  | -                _arrow = _ui.m_dialogName.m_iconNext;
 | 
	
		
			
				|  |  | +                    _wordTextField = _ui.m_dialogName.m_txtContent;
 | 
	
		
			
				|  |  | +                    _arrow = _ui.m_dialogName.m_iconNext;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                if (!lastTextFieldType.Equals("name"))
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    lastTextFieldType = "name";
 | 
	
		
			
				|  |  | -                    StoryDialogDataManager.Instance.waiting = true;
 | 
	
		
			
				|  |  | -                    _ui.m_t0.Play(()=>
 | 
	
		
			
				|  |  | +                    if (!lastTextFieldType.Equals("name"))
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -                        StoryDialogDataManager.Instance.waiting = false;
 | 
	
		
			
				|  |  | -                    });
 | 
	
		
			
				|  |  | +                        lastTextFieldType = "name";
 | 
	
		
			
				|  |  | +                        StoryDialogDataManager.Instance.waiting = true;
 | 
	
		
			
				|  |  | +                        _ui.m_t0.Play(() =>
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            StoryDialogDataManager.Instance.waiting = false;
 | 
	
		
			
				|  |  | +                        });
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            else
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                if (IsTeaParty)
 | 
	
		
			
				|  |  | -                    _ui.m_dialogText.m_showArrow.selectedIndex = 1;
 | 
	
		
			
				|  |  |                  else
 | 
	
		
			
				|  |  | -                    _ui.m_dialogText.m_showArrow.selectedIndex = 0;
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    if (IsTeaParty)
 | 
	
		
			
				|  |  | +                        _ui.m_dialogText.m_showArrow.selectedIndex = 1;
 | 
	
		
			
				|  |  | +                    else
 | 
	
		
			
				|  |  | +                        _ui.m_dialogText.m_showArrow.selectedIndex = 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                _ui.m_dialogText.target.visible = true;
 | 
	
		
			
				|  |  | -                _wordTextField = _ui.m_dialogText.m_txtContent;
 | 
	
		
			
				|  |  | -                _arrow = _ui.m_dialogText.m_iconNext;
 | 
	
		
			
				|  |  | -                lastTextFieldType = "text";
 | 
	
		
			
				|  |  | -                _ui.m_comPlayName.visible = false;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            _wordList = Regex.Split(words, "&&");
 | 
	
		
			
				|  |  | -            _wordIndex = 0;
 | 
	
		
			
				|  |  | +                    _ui.m_dialogText.target.visible = true;
 | 
	
		
			
				|  |  | +                    _wordTextField = _ui.m_dialogText.m_txtContent;
 | 
	
		
			
				|  |  | +                    _arrow = _ui.m_dialogText.m_iconNext;
 | 
	
		
			
				|  |  | +                    lastTextFieldType = "text";
 | 
	
		
			
				|  |  | +                    _ui.m_comPlayName.visible = false;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                _wordIndex = 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                _typingEffect = new TypingFadeEffectPro(_wordTextField);
 | 
	
		
			
				|  |  | +                _typingEffect.typeFinishedAction = ShowCurrentWords;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            _typingEffect = new TypingFadeEffectPro(_wordTextField);
 | 
	
		
			
				|  |  | -            _typingEffect.typeFinishedAction = ShowCurrentWords;
 | 
	
		
			
				|  |  | +                ShowNextDialog();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            ShowNextDialog();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void ShowNextDialog()
 | 
	
	
		
			
				|  | @@ -637,7 +658,6 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              _arrow.target.visible = false;
 | 
	
		
			
				|  |  |              _wordTextField.verticalAlign = VertAlignType.Top;
 | 
	
		
			
				|  |  |              _wordTextField.text = "";
 | 
	
		
			
				|  |  | -            ArrayList letters = StoryUtil.GetLettersList(_currentWords);
 | 
	
		
			
				|  |  |              _canClickBtnNext = false;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              while (StoryDialogDataManager.Instance.waitPicFade || StoryDialogDataManager.Instance.waiting)
 | 
	
	
		
			
				|  | @@ -808,5 +828,22 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              _ui.m_btnAutoPlay.selected = false;
 | 
	
		
			
				|  |  |              Timers.inst.Remove(ShowNextWords);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private IEnumerator WaitCGAnimFinish()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            GameObject cg = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetStoryDialogCGPath("cg_shenjiao"));
 | 
	
		
			
				|  |  | +            Animator animator = cg.GetComponentInChildren<Animator>();
 | 
	
		
			
				|  |  | +            AnimatorStateInfo info = animator.GetCurrentAnimatorStateInfo(0);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            yield return new WaitForSeconds(info.length);
 | 
	
		
			
				|  |  | +            //while (info.normalizedTime < 0.95)
 | 
	
		
			
				|  |  | +            //{
 | 
	
		
			
				|  |  | +            //    info = animator.GetCurrentAnimatorStateInfo(0);
 | 
	
		
			
				|  |  | +            //    yield return new WaitForSeconds(0.1f);
 | 
	
		
			
				|  |  | +            //}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            PrefabManager.Instance.Restore(cg);
 | 
	
		
			
				|  |  | +            OnStepComplete();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |