//switches from one airline to another airline public static void SwitchAirline(Airline airlineFrom, Airline airlineTo) { while (airlineFrom.Alliances.Count > 0) { Alliance alliance = airlineFrom.Alliances[0]; alliance.RemoveMember(airlineFrom); alliance.AddMember(new AllianceMember(airlineTo, GameObject.GetInstance().GameTime)); } while (airlineFrom.Facilities.Count > 0) { AirlineFacility airlineFacility = airlineFrom.Facilities[0]; airlineFrom.RemoveFacility(airlineFacility); airlineTo.AddFacility(airlineFacility); } while (airlineFrom.GetFleetSize() > 0) { FleetAirliner airliner = airlineFrom.Fleet[0]; airlineFrom.RemoveAirliner(airliner); airlineTo.AddAirliner(airliner); airliner.Airliner.Airline = airlineTo; } while (airlineFrom.Routes.Count > 0) { Route route = airlineFrom.Routes[0]; route.Airline = airlineTo; airlineFrom.RemoveRoute(route); airlineTo.AddRoute(route); } while (airlineFrom.Pilots.Count > 0) { Pilot pilot = airlineFrom.Pilots[0]; airlineFrom.RemovePilot(pilot); pilot.Airline = airlineTo; airlineTo.AddPilot(pilot); } while (airlineFrom.Airports.Count > 0) { Airport airport = airlineFrom.Airports[0]; airport.Terminals.SwitchAirline(airlineFrom, airlineTo); foreach (AirportFacility facility in airport.GetCurrentAirportFacilities(airlineFrom)) { if (facility.TypeLevel > airport.GetCurrentAirportFacility(airlineTo, facility.Type).TypeLevel) airport.AddAirportFacility(airlineTo, facility, GameObject.GetInstance().GameTime); AirportFacility noneFacility = AirportFacilities.GetFacilities(facility.Type).Find(f => f.TypeLevel == 0); airport.AddAirportFacility(airlineFrom, noneFacility, GameObject.GetInstance().GameTime); } } }