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>(); }
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>(); }
/// <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); } } }