// Update is called once per frame
    void FixedUpdate()
    {
        los.SightTest();
        switch (currentState)
        {
        case State.Patrol:
            HandlePatrol();
            break;

        case State.Alert:
            HandleAlert();
            break;

        case State.Chasing:
            HandleChasing();
            break;

        case State.Return:
            HandleReturn();
            break;
        }
        if (los.playerInLos)
        {
            if (!alertSoundPlayed)
            {
                alert.Play();
            }
            alertSoundPlayed = true;

            nextPos      = GameObject.Find("Hero").transform.position;
            currentState = State.Chasing;
            path         = null;
        }
        lastPos = transform.position;
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        switch (currentState)
        {
        case State.Normal:
            HandleNormal();
            break;

        case State.Alert:
            HandleAlert();
            break;

        case State.Disabled:
            HandleDisabled();
            break;
        }
        los.SightTest();
    }