本文整理汇总了C#中TheAirline.Model.AirlinerModel.FleetAirliner.addRoute方法的典型用法代码示例。如果您正苦于以下问题:C# FleetAirliner.addRoute方法的具体用法?C# FleetAirliner.addRoute怎么用?C# FleetAirliner.addRoute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TheAirline.Model.AirlinerModel.FleetAirliner
的用法示例。
在下文中一共展示了FleetAirliner.addRoute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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);
//.........这里部分代码省略.........