private static void TryIntroduceNewFormations() { var newVehicleIds = VehicleRegistry .GetNewCreatedVehicleIds() .ToList(); if (!newVehicleIds.Any()) { return; } var newVehicles = VehicleRegistry.GetVehiclesByIds(newVehicleIds); var clusters = Dbscan.Cluster(newVehicles, 80, 33); if (!clusters.Any()) { return; } foreach (var cluster in clusters) { var ids = cluster.Select(v => v.Id).ToList(); formations.Add(new NewVehiclesFormation(MagicConstants.NextFormationId++, ids, CommandManager, VehicleRegistry)); VehicleRegistry.RemoveFromNewVehicles(ids); } }