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