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); } } }
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); } } }
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; } }