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); } }
public virtual void Notify(BaseTraigger traigger) { }