void Find() { int nearbyCount = Physics.OverlapSphereNonAlloc(transform.position, GameData.Instance.agentScanRadius, m_NearbyColliders, m_LayerToCheck); if (nearbyCount > 0) { float closestDistance = float.MaxValue; for (int i = 0; i < nearbyCount; i++) { float distance = (m_NearbyColliders[i].transform.position - transform.position).magnitude; var enemyAttackScript = m_NearbyColliders[i].GetComponent <AttackScript>(); if (distance < closestDistance && !enemyAttackScript.m_Occupied) { closestDistance = distance; m_CurrentTarget = enemyAttackScript; m_CurrentTarget.m_Occupied = true; } } } }
void OnTargetDie() { m_CurrentTarget = null; }