public AirportFacility GetCurrentAirportFacility(Airline airline, AirportFacility.FacilityType type)
{
List<AirportFacility> facilities;
var tFacilities = new List<AirlineAirportFacility>(_facilities);
lock (_facilities)
{
facilities = (from f in tFacilities
where
f.Airline == airline && f.Facility.Type == type
&& f.FinishedDate <= GameObject.GetInstance().GameTime
orderby f.FinishedDate descending
select f.Facility).ToList();
int numberOfFacilities = facilities.Count();
if (numberOfFacilities == 0 && airline != null)
{
AirportFacility noneFacility = AirportFacilities.GetFacilities(type).Find(f => f.TypeLevel == 0);
AddAirportFacility(airline, noneFacility, GameObject.GetInstance().GameTime);
facilities.Add(noneFacility);
}
}
return facilities.FirstOrDefault();
}