Beispiel #1
0
    //启动时调用
    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;
    }
Beispiel #2
0
    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();
        }
    }