void UpdateTarget() { float shortestDistance = Mathf.Infinity; Collider nearestEnemy = null; for (i = 0; i < enableTarget.Length; i++) { for (a = 0; a < enemyToDamage.Length; a++) { if (enemyToDamage[a] == enableTarget[i]) { Collider enemy = enableTarget[i]; float distanceToEnemy = Vector3.Distance(transform.position, enemy.transform.position); if (distanceToEnemy < shortestDistance) { shortestDistance = distanceToEnemy; nearestEnemy = enemy; } } } } if (nearestEnemy != null && shortestDistance <= range) { m_target = nearestEnemy.transform; } else { m_target = null; IdleText(); } m_rotateObject.SetTarget(m_target); // when it shoot, before it shoot if the target is null, if null repeat the target from the start, //find another nearest target to shoot again }
public void RotateTheTurret() { m_rotateObject.SetTarget(m_target); }