本文整理汇总了C#中TheAirline.Model.AirlineModel.Airline.getHubs方法的典型用法代码示例。如果您正苦于以下问题:C# Airline.getHubs方法的具体用法?C# Airline.getHubs怎么用?C# Airline.getHubs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TheAirline.Model.AirlineModel.Airline
的用法示例。
在下文中一共展示了Airline.getHubs方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CanCreateHub
//returns if an airline can create a hub at an airport
public static Boolean CanCreateHub(Airline airline, Airport airport, HubType type)
{
Boolean 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()) * 100;
switch (type.Type)
{
case HubType.TypeOfHub.Focus_city:
return !airlineHub && airline.Money > AirportHelpers.GetHubPrice(airport, type);
case HubType.TypeOfHub.Regional_hub:
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.Fortress_hub:
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) && (!airlineHub) && (airlineGatesPercent > 20) && (totalAirlineHubs < airlineValue) && (airport.getHubs(HubType.TypeOfHub.Hub).Count < (int)airport.Profile.Size);
}
return false;
}
示例2: CreatePolicy
//add insurance policy
public static AirlineInsurance CreatePolicy(Airline airline, AirlineInsurance.InsuranceType type, AirlineInsurance.InsuranceScope scope, AirlineInsurance.PaymentTerms terms, bool allAirliners, int length, int amount)
{
#region Method Setup
Random rnd = new Random();
double modifier = GetRatingModifier(airline);
double hub = airline.getHubs().Count() * 0.1;
AirlineInsurance policy = new AirlineInsurance(type, scope, terms, amount);
policy.InsuranceEffective = GameObject.GetInstance().GameTime;
policy.InsuranceExpires = GameObject.GetInstance().GameTime.AddYears(length);
policy.PolicyIndex = GameObject.GetInstance().GameTime.ToString() + airline.ToString();
policy.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
Dictionary<AirlineInsurance.InsuranceType, Double> typeMultipliers = new Dictionary<AirlineInsurance.InsuranceType, double>();
Dictionary<AirlineInsurance.InsuranceScope, Double> 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.Public_Liability:
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;
policy.PaymentAmount = policy.InsuredAmount * (4 / 10) * typeMPublic * scMGlobal;
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;
}
break;
#endregion
#region Passenger Liability
//.........这里部分代码省略.........
示例3: CreatePolicy
//add insurance policy
public static void CreatePolicy(Airline airline, FleetAirliner airliner, AirlinerInsurance.InsuranceType type, AirlinerInsurance.InsuranceScope scope, AirlinerInsurance.PaymentTerms terms, int length, int amount)
{
#region Method Setup
Random rnd = new Random();
double hub = airline.getHubs().Count() * 0.1;
AirlinerInsurance policy = new AirlinerInsurance(type, scope, terms, amount);
policy.InsuranceEffective = GameObject.GetInstance().GameTime;
policy.InsuranceExpires = GameObject.GetInstance().GameTime.AddYears(length);
policy.PolicyIndex = GameObject.GetInstance().GameTime.ToString() + airline.ToString();
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
Dictionary<AirlinerInsurance.InsuranceType, Double> typeMultipliers = new Dictionary<AirlinerInsurance.InsuranceType, double>();
Dictionary<AirlinerInsurance.InsuranceScope, Double> scopeMultipliers = new Dictionary<AirlinerInsurance.InsuranceScope, double>();
double typeMLiability = 1;
double typeMGround_Parked = 1.2;
double typeMGroundTaxi = 1.5;
double typeMGroundCombined = 1.8;
double typeMInFlight = 2.2;
double typeMFullCoverage = 2.7;
double scMAirport = 1;
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;
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;
}
break;
#endregion
#region Ground Parked
case AirlinerInsurance.InsuranceType.Ground_Parked:
//.........这里部分代码省略.........