本文整理汇总了C#中TheAirline.Models.Airlines.Airline.GetHubs方法的典型用法代码示例。如果您正苦于以下问题:C# Airline.GetHubs方法的具体用法?C# Airline.GetHubs怎么用?C# Airline.GetHubs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TheAirline.Models.Airlines.Airline
的用法示例。
在下文中一共展示了Airline.GetHubs方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CanCreateHub
//returns if an airline can create a hub at an airport
public static bool CanCreateHub(Airline airline, Airport airport, HubType type)
{
Terminal.TerminalType terminaltype = airline.AirlineRouteFocus == Route.RouteType.Cargo ? Terminal.TerminalType.Cargo : Terminal.TerminalType.Passenger;
bool airlineHub = airport.GetHubs().Exists(h => h.Airline == airline);
int airlineValue = (int) airline.GetAirlineValue() + 1;
int totalAirlineHubs = airline.GetHubs().Count; // 'Airports.GetAllActiveAirports().Sum(a => a.Hubs.Count(h => h.Airline == airline));
double airlineGatesPercent = Convert.ToDouble(airport.Terminals.GetNumberOfGates(airline))/Convert.ToDouble(airport.Terminals.GetNumberOfGates(terminaltype))*100;
switch (type.Type)
{
case HubType.TypeOfHub.FocusCity:
return !airlineHub && airline.Money > AirportHelpers.GetHubPrice(airport, type);
case HubType.TypeOfHub.RegionalHub:
return !airlineHub && airline.Money > AirportHelpers.GetHubPrice(airport, type) &&
(airport.Profile.Size == GeneralHelpers.Size.Large || airport.Profile.Size == GeneralHelpers.Size.Medium) && airport.GetHubs().Count < 7;
case HubType.TypeOfHub.FortressHub:
return !airlineHub && airline.Money > AirportHelpers.GetHubPrice(airport, type) && (airport.Profile.Size > GeneralHelpers.Size.Medium) && airlineGatesPercent > 70 &&
(totalAirlineHubs < airlineValue);
case HubType.TypeOfHub.Hub:
return !airlineHub && airline.Money > AirportHelpers.GetHubPrice(airport, type) && (airlineGatesPercent > 20) && (totalAirlineHubs < airlineValue) &&
(airport.GetHubs(HubType.TypeOfHub.Hub).Count < (int) airport.Profile.Size);
}
return false;
}
示例2: CreatePolicy
//add insurance policy
public static void CreatePolicy(Airline airline, FleetAirliner airliner, AirlinerInsurance.InsuranceType type, AirlinerInsurance.InsuranceScope scope, AirlinerInsurance.PaymentTerms terms,
double length, int amount)
{
#region Method Setup
var rnd = new Random();
double hub = airline.GetHubs().Count()*0.1;
var policy = new AirlinerInsurance(type, scope, terms, amount)
{
InsuranceEffective = GameObject.GetInstance().GameTime,
InsuranceExpires = GameObject.GetInstance().GameTime.AddYears((int) length),
PolicyIndex = GameObject.GetInstance().GameTime.ToString(CultureInfo.InvariantCulture) + airline
};
switch (policy.InsTerms)
{
case AirlinerInsurance.PaymentTerms.Monthly:
policy.RemainingPayments = length*12;
break;
case AirlinerInsurance.PaymentTerms.Quarterly:
policy.RemainingPayments = length*4;
break;
case AirlinerInsurance.PaymentTerms.Biannual:
policy.RemainingPayments = length*2;
break;
case AirlinerInsurance.PaymentTerms.Annual:
policy.RemainingPayments = length;
break;
}
//sets up multipliers based on the type and scope of insurance policy
var typeMultipliers = new Dictionary<AirlinerInsurance.InsuranceType, double>();
var scopeMultipliers = new Dictionary<AirlinerInsurance.InsuranceScope, double>();
const double typeMLiability = 1;
const double typeMGroundParked = 1.2;
const double typeMGroundTaxi = 1.5;
const double typeMGroundCombined = 1.8;
const double typeMInFlight = 2.2;
const double typeMFullCoverage = 2.7;
const double scMAirport = 1;
const double scMDomestic = 1.5;
double scMHub = 1.5 + hub;
double scMGlobal = 2.0 + hub;
#endregion
#region Domestic/Int'l Airport Counter
int i = 0;
int j = 0;
foreach (Airport airport in GameObject.GetInstance().HumanAirline.Airports)
{
if (airport.Profile.Country != GameObject.GetInstance().HumanAirline.Profile.Country)
{
i++;
}
else j++;
}
#endregion
// all the decision making for monthly payment amounts and deductibles
switch (type)
{
#region Liability
case AirlinerInsurance.InsuranceType.Liability:
switch (scope)
{
case AirlinerInsurance.InsuranceScope.Airport:
policy.Deductible = amount*0.005;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMLiability*scMAirport;
if (terms == AirlinerInsurance.PaymentTerms.Annual) policy.PaymentAmount = policy.InsuredAmount/length;
if (terms == AirlinerInsurance.PaymentTerms.Biannual) policy.PaymentAmount = policy.InsuredAmount/length/2;
if (terms == AirlinerInsurance.PaymentTerms.Quarterly) policy.PaymentAmount = policy.InsuredAmount/length/4;
if (terms == AirlinerInsurance.PaymentTerms.Monthly) policy.PaymentAmount = policy.InsuredAmount/length/12;
break;
case AirlinerInsurance.InsuranceScope.Domestic:
policy.Deductible = amount*0.001;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMLiability*scMDomestic;
if (terms == AirlinerInsurance.PaymentTerms.Annual) policy.PaymentAmount = policy.InsuredAmount/length;
if (terms == AirlinerInsurance.PaymentTerms.Biannual) policy.PaymentAmount = policy.InsuredAmount/length/2;
if (terms == AirlinerInsurance.PaymentTerms.Quarterly) policy.PaymentAmount = policy.InsuredAmount/length/4;
if (terms == AirlinerInsurance.PaymentTerms.Monthly) policy.PaymentAmount = policy.InsuredAmount/length/12;
break;
case AirlinerInsurance.InsuranceScope.Hub:
policy.Deductible = amount*0.001;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMLiability*scMHub;
if (terms == AirlinerInsurance.PaymentTerms.Annual) policy.PaymentAmount = policy.InsuredAmount/length;
if (terms == AirlinerInsurance.PaymentTerms.Biannual) policy.PaymentAmount = policy.InsuredAmount/length/2;
if (terms == AirlinerInsurance.PaymentTerms.Quarterly) policy.PaymentAmount = policy.InsuredAmount/length/4;
if (terms == AirlinerInsurance.PaymentTerms.Monthly) policy.PaymentAmount = policy.InsuredAmount/length/12;
break;
case AirlinerInsurance.InsuranceScope.Global:
policy.Deductible = amount*0.001;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMLiability*scMGlobal;
//.........这里部分代码省略.........
示例3: CreatePolicy
//add insurance policy
public static AirlineInsurance CreatePolicy(Airline airline, AirlineInsurance.InsuranceType type, AirlineInsurance.InsuranceScope scope, AirlineInsurance.PaymentTerms terms, bool allAirliners,
double length, int amount)
{
#region Method Setup
var rnd = new Random();
double modifier = GetRatingModifier(airline);
double hub = airline.GetHubs().Count()*0.1;
var policy = new AirlineInsurance(type, scope, terms, amount)
{
InsuranceEffective = GameObject.GetInstance().GameTime,
InsuranceExpires = GameObject.GetInstance().GameTime.AddYears((int) length),
PolicyIndex = GameObject.GetInstance().GameTime.ToString(CultureInfo.InvariantCulture) + airline,
TermLength = length
};
switch (policy.InsTerms)
{
case AirlineInsurance.PaymentTerms.Monthly:
policy.RemainingPayments = length*12;
break;
case AirlineInsurance.PaymentTerms.Quarterly:
policy.RemainingPayments = length*4;
break;
case AirlineInsurance.PaymentTerms.Biannual:
policy.RemainingPayments = length*2;
break;
case AirlineInsurance.PaymentTerms.Annual:
policy.RemainingPayments = length;
break;
}
//sets up multipliers based on the type and scope of insurance policy
var typeMultipliers = new Dictionary<AirlineInsurance.InsuranceType, double>();
var scopeMultipliers = new Dictionary<AirlineInsurance.InsuranceScope, double>();
double typeMPublic = modifier;
double typeMPassenger = modifier + 0.2;
double typeMCSL = modifier + 0.5;
double typeMFull = modifier + 1;
double scMAirport = modifier;
double scMDomestic = modifier + 0.2;
double scMHub = modifier + hub + 0.5;
double scMGlobal = modifier + hub + 1;
#endregion
#region Domestic/Int'l Airport Counter
int i = 0;
int j = 0;
foreach (Airport airport in GameObject.GetInstance().HumanAirline.Airports)
{
if (airport.Profile.Country != GameObject.GetInstance().HumanAirline.Profile.Country)
{
i++;
}
else j++;
}
#endregion
// all the decision making for monthly payment amounts and deductibles
#region Public Liability
switch (type)
{
case AirlineInsurance.InsuranceType.PublicLiability:
switch (scope)
{
case AirlineInsurance.InsuranceScope.Airport:
policy.Deductible = amount*0.005;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMPublic*scMAirport;
if (terms == AirlineInsurance.PaymentTerms.Annual) policy.PaymentAmount = policy.InsuredAmount/length;
if (terms == AirlineInsurance.PaymentTerms.Biannual) policy.PaymentAmount = policy.InsuredAmount/length/2;
if (terms == AirlineInsurance.PaymentTerms.Quarterly) policy.PaymentAmount = policy.InsuredAmount/length/4;
if (terms == AirlineInsurance.PaymentTerms.Monthly) policy.PaymentAmount = policy.InsuredAmount/length/12;
break;
case AirlineInsurance.InsuranceScope.Domestic:
policy.Deductible = amount*0.001;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMPublic*scMDomestic;
if (terms == AirlineInsurance.PaymentTerms.Annual) policy.PaymentAmount = policy.InsuredAmount/length;
if (terms == AirlineInsurance.PaymentTerms.Biannual) policy.PaymentAmount = policy.InsuredAmount/length/2;
if (terms == AirlineInsurance.PaymentTerms.Quarterly) policy.PaymentAmount = policy.InsuredAmount/length/4;
if (terms == AirlineInsurance.PaymentTerms.Monthly) policy.PaymentAmount = policy.InsuredAmount/length/12;
break;
case AirlineInsurance.InsuranceScope.Hub:
policy.Deductible = amount*0.001;
policy.PaymentAmount = policy.InsuredAmount*(4/10)*typeMPublic*scMHub;
if (terms == AirlineInsurance.PaymentTerms.Annual) policy.PaymentAmount = policy.InsuredAmount/length;
if (terms == AirlineInsurance.PaymentTerms.Biannual) policy.PaymentAmount = policy.InsuredAmount/length/2;
if (terms == AirlineInsurance.PaymentTerms.Quarterly) policy.PaymentAmount = policy.InsuredAmount/length/4;
if (terms == AirlineInsurance.PaymentTerms.Monthly) policy.PaymentAmount = policy.InsuredAmount/length/12;
break;
case AirlineInsurance.InsuranceScope.Global:
policy.Deductible = amount*0.001;
//.........这里部分代码省略.........