Esempio n. 1
0
        protected virtual void Start()
        {
            //得到主角
            _GoHero = GameObject.FindGameObjectWithTag(Tag.Tag_Player);

            //得到该敌人的方位
            _MyTransform = this.gameObject.transform;
            //得到该敌人的角色控制器
            _MyCController = this.gameObject.GetComponent <CharacterController>();
            //得到该敌人的属性脚本实例
            _MyProperty = this.gameObject.GetComponent <Ctrl_BaseEnemy_Prop>();
        }
Esempio n. 2
0
        private readonly float CON_PETime_Hurt = 2f;                   //受伤粒子特效的显示时间
        //private readonly float CON_PETime_Dead = 2f;        //死亡粒子特效的显示时间


        #region 【自动方法】

        protected virtual void Start()
        {
            //查找英雄的引用
            goHero = GameObject.FindGameObjectWithTag(Tag.Tag_Player);
            if (goHero)
            {
                _HeroProperty = goHero.GetComponent <Ctrl_HeroProperty>();
            }
            //查找自身的引用
            _MyAnimator    = gameObject.GetComponent <Animator>();
            _MyCController = this.gameObject.GetComponent <CharacterController>();
            _MyProperty    = gameObject.GetComponent <Ctrl_BaseEnemy_Prop>();
            _MyAI          = gameObject.GetComponent <Ctrl_BaseEnemy_AI>();
        }
Esempio n. 3
0
        /// <summary>
        /// 得到所有敌人(存活的),放入“敌人集合”
        /// </summary>
        public void GetToArray()
        {
            //清空集合,否则会出现差错
            _Lis_.Clear();

            GameObject[] Go = GameObject.FindGameObjectsWithTag(Tag.Tag_Enemy);
            foreach (GameObject goItem in Go)
            {
                //判断敌人是否存活
                Ctrl_BaseEnemy_Prop enemy = goItem.GetComponent <Ctrl_BaseEnemy_Prop>();
                //if (enemy && enemy.IsAlive) {
                if (enemy != null && enemy.CurrentState != EnemyActionState.Dead)
                {
                    _Lis_.Add(goItem);
                }
            }
        }