private void FightClosestTarget() { TargetableByAIEnemy closestTargetEnemy = AI_ControllerEnemy.Instance.GetClosestTargetEnemy(transform.position); if (closestTargetEnemy != null) { charController.Command_AttackMelee(closestTargetEnemy.GetComponent <Alive> ()); } }
public TargetableByAIEnemy GetClosestTargetEnemy(Vector3 position) { float minDistance = 99999; TargetableByAIEnemy closestTarget = null; foreach (TargetableByAIEnemy target in targetsEnemy) { if ((target != null) && (!target.GetComponent <Alive> ().IsDead)) { float distance = Vector3.Distance(position, target.transform.position); if (((distance < minDistance) || (closestTarget == null))) { minDistance = distance; closestTarget = target; } } } return(closestTarget); }