Exemplo n.º 1
0
    private void FixedUpdate()
    {
        seePlayer = HunterFOV.inFOV(transform, player.transform, 45f, 20f, 12f, 5f);

        if (seePlayer)
        {
            isSeen = true;
            Pursue();
        }

        else if (!nav.pathPending && nav.remainingDistance < 1f)
        {
            notSeen = true;
            GoToNextLocation();
        }

        if (isSeen && notSeen) //has been in and out of FOV, add to counter
        {
            seenCount++;
            isSeen  = false;
            notSeen = false;
            if (seenCount >= 5)
            {
                FleeAbility();
            }
        }
    }
Exemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        nav     = GetComponent <NavMeshAgent>();
        player  = GameObject.Find("Player");
        manager = GameObject.Find("GameManager").GetComponent <GameManager>();
        fov     = GetComponent <HunterFOV>();

        followTimer = followTimerStandard;
        for (int i = 0; i < searchLocations.Length; i++)
        {
            advancedLocations.Add(searchLocations[i]);
        }
    }