protected void targetClosestFleet() { Vector2[] fleetPositions = GameMenager.getAllFleetsLocations(); int closestFleetIndex = -1; float closestFleedDistance = float.MaxValue; for (int i = 0; i < fleetPositions.Length; i++) { float disctanceBetweenFleets = Vector2.Distance(transform.position, fleetPositions[i]); //secont argument prevents targeting itself if (disctanceBetweenFleets < closestFleedDistance && disctanceBetweenFleets > 0.001) { closestFleetIndex = i; closestFleedDistance = disctanceBetweenFleets; } } targetedFleet = GameMenager.getFleetWithIndex(closestFleetIndex); calculateTimeBetweenNextTargetChange(); timePassedSinceLastTargetChange = 0f; randomizeRotatingDirection(); }