public static void RentGates(Airport airport, Airline airline, int gates) { AirportContract contract = new AirportContract(airline, airport, GameObject.GetInstance().GameTime, gates, 20, GetYearlyContractPayment(airport, gates, 20)); airport.addAirlineContract(contract); }
//reallocate all gates and facilities from one airport to another - gates, facilities and routes public static void ReallocateAirport(Airport oldAirport, Airport newAirport, Airline airline) { //contract List<AirportContract> oldContracts = oldAirport.getAirlineContracts(airline); foreach (AirportContract oldContract in oldContracts) { oldAirport.removeAirlineContract(oldContract); oldContract.Airport = newAirport; newAirport.addAirlineContract(oldContract); } //routes var obsoleteRoutes = (from r in airline.Routes where r.Destination1 == oldAirport || r.Destination2 == oldAirport select r); foreach (Route route in obsoleteRoutes) { if (route.Destination1 == oldAirport) route.Destination1 = newAirport; if (route.Destination2 == oldAirport) route.Destination2 = newAirport; var entries = route.TimeTable.Entries.FindAll(e => e.Destination.Airport == oldAirport); foreach (RouteTimeTableEntry entry in entries) entry.Destination.Airport = newAirport; foreach (FleetAirliner airliner in route.getAirliners()) { if (airliner.Homebase == oldAirport) airliner.Homebase = newAirport; } } //facilities foreach (AirportFacility facility in oldAirport.getCurrentAirportFacilities(airline)) { newAirport.addAirportFacility(airline, facility, GameObject.GetInstance().GameTime); } oldAirport.clearFacilities(airline); foreach (AirportFacility.FacilityType type in Enum.GetValues(typeof(AirportFacility.FacilityType))) { AirportFacility noneFacility = AirportFacilities.GetFacilities(type).Find((delegate(AirportFacility facility) { return facility.TypeLevel == 0; })); oldAirport.addAirportFacility(airline, noneFacility, GameObject.GetInstance().GameTime); } }
public static void CreateAirportContract(Airport airport, Airline airline, int gates, int length, double yearlypayment) { AirportContract contract = new AirportContract(airline, airport, GameObject.GetInstance().GameTime, gates, length, yearlypayment); airport.addAirlineContract(contract); }
public static void RentGates(Airport airport, Airline airline, int gates) { int currentgates = airport.AirlineContracts.Where(a => a.Airline == airline).Sum(c => c.NumberOfGates); AirportContract contract = new AirportContract(airline, airport, GameObject.GetInstance().GameTime, gates, 20, GetYearlyContractPayment(airport, gates, 20)); if (currentgates == 0) { airport.addAirlineContract(contract); } else { foreach (AirportContract c in airport.AirlineContracts.Where(a => a.Airline == airline)) { c.NumberOfGates += gates; } } }