Пример #1
0
 void Start()
 {
     m_MyState          = m_AiStates.Patrol;
     m_sphereCol        = gameObject.GetComponent <SphereCollider> ();
     m_sphereCol.radius = m_SightRange;
     m_Agent            = gameObject.GetComponent <NavMeshAgent> ();
 }
Пример #2
0
 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;
         }
     }
 }
Пример #3
0
 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;
             }
         }
     }
 }