Пример #1
0
 private void Update()
 {
     if (target)
     {
         if (Vector3.Distance(transform.position, target.transform.position) > .15)
         {
             character.Move(target.transform.position);
         }
         else
         {
             character.ClearPath();
             character.LoockAt(target.transform);
             characterAnimation.AttackAnimation(true);
         }
     }
 }
Пример #2
0
 private void Update()
 {
     if (detected.Target)
     {
         float      dist = Vector3.Distance(transform.position, detected.Target.transform.position);
         RaycastHit hit;
         Physics.Raycast(transform.position, detected.Target.transform.position - transform.position, out hit);
         if (dist < .25f && hit.transform.CompareTag("Player"))
         {
             character.LoockAt(detected.Target.transform);
             character.ClearPath();
             characterAnimation.AttackAnimation(true);
         }
         else
         {
             character.Move(detected.Target.transform.position);
         }
     }
 }
Пример #3
0
 private void Update()
 {
     if (detected.Target)
     {
         float dist = Vector3.Distance(transform.position, detected.Target.transform.position);
         if ((dist > 0.15f && sost != SostEnum.Attack) ||
             (sost == SostEnum.Attack && dist > 0.2f))
         {
             character.Move(detected.Target.transform.position);
             sost = SostEnum.Run;
         }
         else
         {
             sost = SostEnum.Attack;
             character.LoockAt(detected.Target.transform);
             character.ClearPath();
             characterAnimation.AttackAnimation(true);
         }
     }
     else
     {
         sost = SostEnum.Idle;
     }
 }