本文整理汇总了C#中TheAirline.Model.AirlineModel.Airline.addRoute方法的典型用法代码示例。如果您正苦于以下问题:C# Airline.addRoute方法的具体用法?C# Airline.addRoute怎么用?C# Airline.addRoute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TheAirline.Model.AirlineModel.Airline
的用法示例。
在下文中一共展示了Airline.addRoute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetupScenarioRoute
//sets up an scenario airline route
private static void SetupScenarioRoute(ScenarioAirlineRoute saroute, Airline airline)
{
SetupScenarioAirport(airline, saroute.Destination1, saroute.Quantity);
SetupScenarioAirport(airline, saroute.Destination2, saroute.Quantity);
double price = PassengerHelpers.GetPassengerPrice(saroute.Destination1, saroute.Destination2);
for (int i = 0; i < saroute.Quantity; i++)
{
Guid id = Guid.NewGuid();
PassengerRoute route = new PassengerRoute(id.ToString(), saroute.Destination1, saroute.Destination2, price);
RouteClassesConfiguration configuration = AIHelpers.GetRouteConfiguration(route);
foreach (RouteClassConfiguration classConfiguration in configuration.getClasses())
{
route.getRouteAirlinerClass(classConfiguration.Type).FarePrice = price * GeneralHelpers.ClassToPriceFactor(classConfiguration.Type);
foreach (RouteFacility rfacility in classConfiguration.getFacilities())
route.getRouteAirlinerClass(classConfiguration.Type).addFacility(rfacility);
}
airline.addRoute(route);
FleetAirliner fAirliner = AirlineHelpers.CreateAirliner(airline, saroute.AirlinerType);
airline.addAirliner(fAirliner);
fAirliner.addRoute(route);
AIHelpers.CreateRouteTimeTable(route, fAirliner);
fAirliner.Status = FleetAirliner.AirlinerStatus.To_route_start;
AirlineHelpers.HireAirlinerPilots(fAirliner);
route.LastUpdated = GameObject.GetInstance().GameTime;
}
}
示例2: CreateComputerRoutes
/*! creates some airliners and routes for a computer airline.
*/
private static void CreateComputerRoutes(Airline airline)
{
Boolean leaseAircraft = airline.Profile.PrimaryPurchasing == AirlineProfile.PreferedPurchasing.Leasing;
Airport airportHomeBase = FindComputerHomeBase(airline);
AirportFacility serviceFacility = AirportFacilities.GetFacilities(AirportFacility.FacilityType.Service).Find(f => f.TypeLevel == 1);
AirportFacility checkinFacility = AirportFacilities.GetFacilities(AirportFacility.FacilityType.CheckIn).Find(f => f.TypeLevel == 1);
AirportFacility cargoTerminal = AirportFacilities.GetFacilities(AirportFacility.FacilityType.Cargo).Find(f => f.TypeLevel > 0);
airportHomeBase.addAirportFacility(airline, serviceFacility, GameObject.GetInstance().GameTime);
airportHomeBase.addAirportFacility(airline, checkinFacility, GameObject.GetInstance().GameTime);
if (airline.AirlineRouteFocus == Route.RouteType.Cargo)
airportHomeBase.addAirportFacility(airline, cargoTerminal, GameObject.GetInstance().GameTime);
AirlineStartData startData = AirlineStartDatas.GetAirlineStartData(airline);
//creates the start data for an airline
if (startData != null)
{
AirportHelpers.RentGates(airportHomeBase, airline, AirportContract.ContractType.Full);
CreateAirlineStartData(airline, startData);
}
else
{
List<Airport> airportDestinations = AIHelpers.GetDestinationAirports(airline, airportHomeBase);
if (airportDestinations.Count == 0)
{
airportDestinations = Airports.GetAirports(a => a.Profile.Country.Region == airportHomeBase.Profile.Country.Region && a != airportHomeBase);
}
KeyValuePair<Airliner, Boolean>? airliner = null;
Airport airportDestination = null;
int counter = 0;
while ((airportDestination == null || airliner == null || !airliner.HasValue) && airportDestinations.Count > counter)
{
airportDestination = airportDestinations[counter];
airliner = AIHelpers.GetAirlinerForRoute(airline, airportHomeBase, airportDestination, leaseAircraft, airline.AirlineRouteFocus == Route.RouteType.Cargo, true);
counter++;
}
if (airportDestination == null || !airliner.HasValue)
{
CreateComputerRoutes(airline);
}
else
{
AirportHelpers.AddAirlineContract(new AirportContract(airline, airportHomeBase, AirportContract.ContractType.Full, GameObject.GetInstance().GameTime, 2, 25, 0, true));
AirportHelpers.RentGates(airportDestination, airline, AirportContract.ContractType.Low_Service);
//airportDestination.addAirportFacility(airline, checkinFacility, GameObject.GetInstance().GameTime);
Guid id = Guid.NewGuid();
double price = PassengerHelpers.GetPassengerPrice(airportDestination, airline.Airports[0]);
Route route = null;
if (airline.AirlineRouteFocus == Route.RouteType.Passenger)
{
route = new PassengerRoute(id.ToString(), airportDestination, airline.Airports[0], GameObject.GetInstance().GameTime, price);
RouteClassesConfiguration configuration = AIHelpers.GetRouteConfiguration((PassengerRoute)route);
foreach (RouteClassConfiguration classConfiguration in configuration.getClasses())
{
((PassengerRoute)route).getRouteAirlinerClass(classConfiguration.Type).FarePrice = price * GeneralHelpers.ClassToPriceFactor(classConfiguration.Type);
foreach (RouteFacility rFacility in classConfiguration.getFacilities())
((PassengerRoute)route).getRouteAirlinerClass(classConfiguration.Type).addFacility(rFacility);
}
}
if (airline.AirlineRouteFocus == Route.RouteType.Cargo)
{
route = new CargoRoute(id.ToString(), airportDestination, airline.Airports[0], GameObject.GetInstance().GameTime, PassengerHelpers.GetCargoPrice(airportDestination, airline.Airports[0]));
airportDestination.addAirportFacility(airline, cargoTerminal, GameObject.GetInstance().GameTime);
}
if (leaseAircraft)
AirlineHelpers.AddAirlineInvoice(airline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Rents, -airliner.Value.Key.LeasingPrice * 2);
else
AirlineHelpers.AddAirlineInvoice(airline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -airliner.Value.Key.getPrice());
FleetAirliner fAirliner = new FleetAirliner(leaseAircraft ? FleetAirliner.PurchasedType.Leased : FleetAirliner.PurchasedType.Bought, GameObject.GetInstance().GameTime, airline, airliner.Value.Key, airportHomeBase);
fAirliner.Status = FleetAirliner.AirlinerStatus.To_route_start;
fAirliner.addRoute(route);
AirlinerHelpers.CreateAirlinerClasses(fAirliner.Airliner);
AirlineHelpers.HireAirlinerPilots(fAirliner);
//.........这里部分代码省略.........
示例3: SwitchAirline
//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);
}
}
}
示例4: CreateAirlineStartData
/*!creates the start data for an airline
*/
private static void CreateAirlineStartData(Airline airline, AirlineStartData startData)
{
AirportFacility checkinFacility = AirportFacilities.GetFacilities(AirportFacility.FacilityType.CheckIn).Find(f => f.TypeLevel == 1);
AirportFacility cargoTerminal = AirportFacilities.GetFacilities(AirportFacility.FacilityType.Cargo).Find(f => f.TypeLevel > 0);
// int difficultyFactor = GameObject.GetInstance().Difficulty.AILevel > 1 ? 2 : 1; //level easy
int startDataFactor = Convert.ToInt16(GameObject.GetInstance().Difficulty.StartDataLevel);
var startroutes = startData.Routes.FindAll(r => r.Opened <= GameObject.GetInstance().GameTime.Year && r.Closed >= GameObject.GetInstance().GameTime.Year);
//creates the routes
var sRoutes = startroutes.GetRange(0, startroutes.Count / startDataFactor);
Parallel.ForEach(sRoutes, startRoute =>
{
Airport dest1 = Airports.GetAirport(startRoute.Destination1);
Airport dest2 = Airports.GetAirport(startRoute.Destination2);
if (dest1 != null && dest2 != null)
{
//if (dest1.getAirportFacility(airline, AirportFacility.FacilityType.CheckIn).TypeLevel == 0)
//dest1.addAirportFacility(airline, checkinFacility, GameObject.GetInstance().GameTime);
//if (dest2.getAirportFacility(airline, AirportFacility.FacilityType.CheckIn).TypeLevel == 0)
//dest2.addAirportFacility(airline, checkinFacility, GameObject.GetInstance().GameTime);
if (dest1.getAirportFacility(airline, AirportFacility.FacilityType.Cargo).TypeLevel == 0 && dest1.getAirportFacility(null, AirportFacility.FacilityType.Cargo).TypeLevel == 0 && airline.AirlineRouteFocus == Route.RouteType.Cargo)
dest1.addAirportFacility(airline, cargoTerminal, GameObject.GetInstance().GameTime);
if (dest2.getAirportFacility(airline, AirportFacility.FacilityType.Cargo).TypeLevel == 0 && dest2.getAirportFacility(null, AirportFacility.FacilityType.Cargo).TypeLevel == 0 && airline.AirlineRouteFocus == Route.RouteType.Cargo)
dest2.addAirportFacility(airline, cargoTerminal, GameObject.GetInstance().GameTime);
if (!AirportHelpers.HasFreeGates(dest1, airline))
AirportHelpers.RentGates(dest1, airline, AirportContract.ContractType.Low_Service);
if (!AirportHelpers.HasFreeGates(dest2, airline))
AirportHelpers.RentGates(dest2, airline, AirportContract.ContractType.Low_Service);
Guid id = Guid.NewGuid();
Route route = null;
double price = PassengerHelpers.GetPassengerPrice(dest1, dest2);
if (startRoute.RouteType == Route.RouteType.Mixed || startRoute.RouteType == Route.RouteType.Passenger)
{
route = new PassengerRoute(id.ToString(), dest1, dest2, GameObject.GetInstance().GameTime, price);
}
if (startRoute.RouteType == Route.RouteType.Cargo)
route = new CargoRoute(id.ToString(), dest1, dest2, GameObject.GetInstance().GameTime, PassengerHelpers.GetCargoPrice(dest1, dest2));
KeyValuePair<Airliner, Boolean>? airliner = null;
if (startRoute.Type != null)
{
double distance = MathHelpers.GetDistance(dest1, dest2);
if (startRoute.Type.Range > distance)
{
airliner = new KeyValuePair<Airliner, bool>(Airliners.GetAirlinersForSale(a => a.Type == startRoute.Type).FirstOrDefault(), true);
if (airliner.Value.Key == null)
{
id = Guid.NewGuid();
Airliner nAirliner = new Airliner(id.ToString(), startRoute.Type, airline.Profile.Country.TailNumbers.getNextTailNumber(), GameObject.GetInstance().GameTime);
Airliners.AddAirliner(nAirliner);
nAirliner.clearAirlinerClasses();
AirlinerHelpers.CreateAirlinerClasses(nAirliner);
airliner = new KeyValuePair<Airliner, bool>(nAirliner, true);
}
}
}
Boolean leaseAircraft = airline.Profile.PrimaryPurchasing == AirlineProfile.PreferedPurchasing.Leasing;
if (airliner == null)
{
airliner = AIHelpers.GetAirlinerForRoute(airline, dest2, dest1, leaseAircraft, startRoute.RouteType == Route.RouteType.Cargo, true);
if (airliner == null && airline.Profile.PrimaryPurchasing == AirlineProfile.PreferedPurchasing.Random)
AIHelpers.GetAirlinerForRoute(airline, dest2, dest1, true, startRoute.RouteType == Route.RouteType.Cargo, true);
}
if (airliner != null)
{
FleetAirliner fAirliner = AirlineHelpers.AddAirliner(airline, airliner.Value.Key, airline.Airports[0],leaseAircraft);
fAirliner.addRoute(route);
fAirliner.Status = FleetAirliner.AirlinerStatus.To_route_start;
AirlineHelpers.HireAirlinerPilots(fAirliner);
route.LastUpdated = GameObject.GetInstance().GameTime;
if (startRoute.RouteType == Route.RouteType.Mixed || startRoute.RouteType == Route.RouteType.Passenger)
//.........这里部分代码省略.........