private void UpdateProductionOnFacility(List <Facility> myProductionFacilities) { Facility chosenFacility = null; VehicleType chosenType = VehicleType.Ifv; foreach (var facility in myProductionFacilities) { var freeUnitsOnFacility = FreeUnitsOnFacilities[facility].Count(); var isWaitingForOrder = freeUnitsOnFacility == 0 || freeUnitsOnFacility > MaxUnitsForNewSquad; if (isWaitingForOrder) { var requiredType = GetRequiredUnitsType(); if (requiredType != facility.VehicleType) { chosenFacility = facility; chosenType = requiredType; break; } } } if (chosenFacility == null) { return; } ActionList.ActionProductionStart(chosenFacility, chosenType); }