/*returns the inflight demand score for the route*/
public static double GetRouteInflightScore(Route route)
{
TimeSpan flightTime = MathHelpers.GetFlightTime(route.Destination1, route.Destination2, route.GetAirliners()[0].Airliner.Type);
AirlinerFacility inflight = route.GetAirliners()[0].Airliner.GetAirlinerClass(AirlinerClass.ClassType.EconomyClass).GetFacility(AirlinerFacility.FacilityType.Video);
IOrderedEnumerable<AirlinerFacility> videofacilities =
AirlinerFacilities.GetFacilities(AirlinerFacility.FacilityType.Video).Where(f => f.FromYear >= GameObject.GetInstance().GameTime.Year).OrderBy(f => f.ServiceLevel);
int facilitynumber = videofacilities.Count() - videofacilities.ToList().IndexOf(inflight) - 1;
double inflightlevel;
if (flightTime.Hours < 1)
{
inflightlevel = 9 - facilitynumber;
}
else if (flightTime.Hours >= 1 && flightTime.Hours < 3)
{
inflightlevel = 8 - facilitynumber;
}
else if (flightTime.Hours >= 3 && flightTime.Hours < 7)
{
inflightlevel = 7 - facilitynumber;
}
else
{
inflightlevel = 10 - (2*facilitynumber);
}
return Math.Min(10, inflightlevel);
}