public override void Notify(BaseTraigger traigger)
        {
            updateAction = 0;
            print(name + " hear sound at " + traigger.transform.position);
            Vector3 direction = traigger.transform.position - transform.position;

            Vector3.Normalize(direction);
            if (Vector3.Distance(traigger.transform.position, transform.position) > 1.5f)
            {
                if (!animator.GetCurrentAnimatorStateInfo(0).IsName("walk"))
                {
                    animator.Play("walk");
                }
                _rigidbody.velocity = direction / 100;
            }
            else
            {
                if (Vector3.Angle(direction, transform.forward) >= 10)
                {
                    transform.LookAt(traigger.transform.position);
                }
                if (!animator.GetCurrentAnimatorStateInfo(0).IsName("attack"))
                {
                    animator.Play("attack");
                }
            }
        }
 public static void RegisterTrigger(BaseTraigger traigger)
 {
     if (!Traiggers.Contains(traigger))
     {
         Traiggers.Add(traigger);
     }
 }
Esempio n. 3
0
 public virtual void Notify(BaseTraigger traigger)
 {
 }