/// <summary> /// 侦查信息显示 /// </summary> /// <param name="_nationality">国籍</param> /// <param name="_action"></param> /// <param name="_scoutInfoType"></param> public void ScoutInfoShow(WorldObj.Nationality _nationality, WorldObj.AnimatorAction _action, WorldObj.ScoutInfoType _scoutInfoType, GameObject _infoSourceObj) { //没有模型激活的情况下按国籍激活模型 Transform horsemanRed = teamScout.Find("Horseman_Red"); Transform horsemanBlue = teamScout.Find("Horseman_Blue"); if (!horsemanRed.gameObject.GetActive() && !horsemanBlue.gameObject.GetActive()) { switch (_nationality) { case WorldObj.Nationality.red: horsemanRed.gameObject.SetActive(true); break; case WorldObj.Nationality.blue: horsemanBlue.gameObject.SetActive(true); break; case WorldObj.Nationality.monster: break; default: break; } } //播放动画 if (!teamScout) { Debug.Log("没找到teamScout!"); return; } if (!scoutAnimator) { Debug.Log("没找到动画组件"); return; } scoutAnimator.SetBool(Enum.GetNames(typeof(WorldObj.AnimatorAction))[(int)WorldObj.AnimatorAction.Run], false); scoutAnimator.SetBool(Enum.GetNames(typeof(WorldObj.AnimatorAction))[(int)_action], true); //输出侦查信息 scoutInfoText.text = WorldObj.ScoutInfoDictionary[_scoutInfoType]; //存储侦查信息源对象 WorldObj.scoutInfoSourceObj = _infoSourceObj; //5秒后恢复以前的动画和侦查信息 StartCoroutine(ResetAnimatorRun(5f, WorldObj.AnimatorAction.Run, _action, WorldObj.ScoutInfoType.none)); }
/// <summary> /// 侦查模型在延迟后恢复以前的动画 /// </summary> /// <param name="_delay">延迟时间</param> /// <param name="_animatorActionBefore">以前动画</param> /// <param name="_animatorActionNow">当前动画</param> /// <returns></returns> IEnumerator ResetAnimatorRun(float _delay, WorldObj.AnimatorAction _animatorActionBefore, WorldObj.AnimatorAction _animatorActionNow, WorldObj.ScoutInfoType _scoutInfoType) { yield return(new WaitForSeconds(_delay)); scoutAnimator.SetBool(Enum.GetNames(typeof(WorldObj.AnimatorAction))[(int)_animatorActionNow], false); scoutAnimator.SetBool(Enum.GetNames(typeof(WorldObj.AnimatorAction))[(int)_animatorActionBefore], true); scoutInfoText.text = WorldObj.ScoutInfoDictionary[_scoutInfoType]; WorldObj.scoutInfoSourceObj = null; }