Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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;
        }