void Start() { m_MyState = m_AiStates.Patrol; m_sphereCol = gameObject.GetComponent <SphereCollider> (); m_sphereCol.radius = m_SightRange; m_Agent = gameObject.GetComponent <NavMeshAgent> (); }
void OnTriggerExit(Collider col) { if (col.tag == "Player" || col.tag == "Enemy") { StressCalculation(); if (m_Stress > -100000 && col.tag == "Player" && Vector3.Dot((col.transform.position - transform.position).normalized, transform.forward) > visionAngle) { m_Agent.SetDestination(col.transform.position); m_MyState = m_AiStates.Combat; target = col.gameObject; justSaw = true; } } }
void OnTriggerStay(Collider col) { if (m_Stress > -1000000) { if (col.tag == "Player" && Vector3.Dot((col.transform.position - transform.position).normalized, transform.forward) > visionAngle) { m_Agent.SetDestination(col.transform.position); m_Agent.SetDestination(col.transform.position); m_MyState = m_AiStates.Combat; target = col.gameObject; justSaw = true; } else { if (target != null && justSaw) { lastKnownTransform = target.transform.position; m_Agent.SetDestination(ChaseInDatDirection(lastKnownTransform, 30f)); Debug.Log("CHASEDINDATDIRECTION"); justSaw = false; } } } }