//启动时调用 void Start() { //获取僵尸的各种组件 agent = GetComponent <NavMeshAgent>(); animator = GetComponent <Animator>(); zombieHealth = GetComponent <ZombieHealth> (); zombieSensor = GetComponentInChildren <ZombieSensor> (); zombieRender = GetComponent <ZombieRender> (); zombieTransform = transform; //把僵尸感知到的玩家字段设置为null targetPlayer = null; EnableZombie(false); AIInitFinish = true; }
private bool firstInDead = true; //僵尸是否首次进入死亡状态 void OnEnable() { //获取僵尸的各种组件 agent = GetComponent <NavMeshAgent>(); animator = GetComponent <Animator>(); zombieHealth = GetComponent <ZombieHealth> (); zombieSensor = GetComponentInChildren <ZombieSensor> (); zombieRender = GetComponent <ZombieRender> (); zombieTransform = transform; //把僵尸感知到的玩家字段设置为null targetPlayer = null; //初始状态为死亡状态 currentState = FSMState.Dead; //禁用导航代理组件 agent.enabled = false; //自动初始化僵尸 if (autoInit) { Born(); } }