Esempio n. 1
0
 // Use this for initialization
 void Start()
 {
     damage         = m_Damage;
     reloadTime     = m_ReloadTime;
     m_AIBehaviours = GetComponentInParent <AIBehaviours>();
     m_AIAnimations = GetComponentInParent <AIAnimations> ();
 }
Esempio n. 2
0
 // Use this for initialization
 void Start()
 {
     m_Animator     = GetComponent <Animator> ();
     m_AIStates     = GetComponent <AIBehaviours> ();
     m_NavMeshAgent = GetComponent <NavMeshAgent> ();
     canAttack      = true;
 }
Esempio n. 3
0
 void Awake()
 {
     m_AIMovement   = GetComponent <AIMovement> ();
     m_NavMeshAgent = GetComponent <NavMeshAgent> ();
     m_AIAnimations = GetComponent <AIAnimations> ();
     m_AIHealth     = GetComponent <AIHealth> ();
     m_Animator     = GetComponent <Animator> ();
     m_AIBehaviours = GetComponent <AIBehaviours> ();
     m_Class        = GetComponent <Class> ();
     m_AIShooting   = GetComponent <AIShooting> ();
 }
Esempio n. 4
0
 void Walk(Transform target)
 {
     LockPlayer(target);
     if(target.GetComponent<Character>().states == PlayerStates.ko ||
         target.GetComponent<Character>().states == PlayerStates.rise){
         player.Play("Idle");
         states = PlayerStates.idle;
     }
     else{
         if(Time.time > time)
             behaviours = AIBehaviours.none;
         switch(behaviours){
             case AIBehaviours.gostraigth:GoStraight(target);break;
             case AIBehaviours.gostraigthcarefully:GoStraightCarefully(target);break;
             case AIBehaviours.goaround:GoAround();break;
             case AIBehaviours.none:states = PlayerStates.idle;player.Play("Idle");break;
         }
     }
 }
Esempio n. 5
0
 void Idle(Transform target)
 {
     if(target){
         if(behaviours == AIBehaviours.none){
             if(thinkingTime >= 1f){
                 thinkingTime=0;
                 strategyTime = Random.Range(strategyTimes.x,strategyTimes.y);
                 time = Time.time+strategyTime;
                 player.Play("walk");
                 states = PlayerStates.walk;
                 behaviours = (AIBehaviours)Random.Range(1,4);
             }
             else{
                 thinkingTime+=Time.deltaTime;
             }
         }
         else{
             if(target.GetComponent<Character>().states != PlayerStates.ko &&
                 target.GetComponent<Character>().states != PlayerStates.rise &&
                 target.GetComponent<Character>().states != PlayerStates.dead){
                 strategyTime = Random.Range(strategyTimes.x,strategyTimes.y);
                 time = Time.time+strategyTime;
                 player.Play("walk");
                 states = PlayerStates.walk;
                 behaviours = (AIBehaviours)Random.Range(1,4);
             }
         }
     }
 }
Esempio n. 6
0
 void GoAround()
 {
     if(waypoint == -1){
         int b = Random.Range(0,2);
         if(b==1)
             way = true;
         else
             way = false;
         if(SearchNearest()){
             if(way)
                 waypoint = 1;
             else
                 waypoint= 5;
             rev=false;
         }
         else{
             if(way)
                 waypoint = 4;
             else
                 waypoint= 8;
             rev=true;
         }
         pointPos = GameObject.Find("pathPoint"+waypoint).transform;
     }
     else{
         moveDirection = Vector3.Normalize(pointPos.position-transform.position);
         moveDirection.z = moveDirection.y;
         transform.Translate(moveDirection * velocity*Time.deltaTime);
         if(Vector3.Distance(transform.position,pointPos.position) <= 30f){
             if(rev && way && waypoint == 1 || rev && !way && waypoint == 5 ||
                 !rev && way && waypoint == 4 || !rev && !way && waypoint == 8){
                 waypoint=-1;
                 behaviours = (AIBehaviours)Random.Range(1,4);
             }
             else{
                 if(rev)
                     waypoint--;
                 else
                     waypoint++;
                 pointPos = GameObject.Find("pathPoint"+waypoint).transform;
             }
         }
     }
 }