AddDestinationCargoRate() 공개 메소드

public AddDestinationCargoRate ( Airport destination, ushort rate ) : void
destination Airport
rate ushort
리턴 void
        public static void CreateDestinationCargo(Airport airport, Airport dAirport)
        {
            //origin airport out
            double originMassPerDay = GetAirportCargoMass(airport)/2;
            double originDemand = (originMassPerDay*CargoFactors[dAirport.Profile.Cargo])
                                  /Airports.CargoAirportsSizes[dAirport.Profile.Cargo];
            //destination airport in
            double destinationMassPerDay = GetAirportCargoMass(dAirport)/2;
            double destinationDemand = (destinationMassPerDay*CargoFactors[airport.Profile.Cargo])
                                       /Airports.CargoAirportsSizes[airport.Profile.Cargo];

            double distance = MathHelpers.GetDistance(airport, dAirport);

            double distanceFactor = distance > 5000 ? 1 : 0.5;
            double sameCountryFactor = airport.Profile.Country == dAirport.Profile.Country ? 0.75 : 1;
            double sameRegionFactor = sameCountryFactor.Equals(1)
                                      && airport.Profile.Country.Region == dAirport.Profile.Country.Region
                                          ? 0.5
                                          : 1;

            double minMass = Math.Min(originMassPerDay, destinationMassPerDay);

            double volume = minMass/distanceFactor;
            volume = volume/sameCountryFactor;
            volume = volume/sameRegionFactor;
            //converts to pounds of cargo
            volume *= 35.1;

            if (volume >= 1)
            {
                airport.AddDestinationCargoRate(new DestinationDemand(dAirport.Profile.IATACode, (ushort) volume));
            }
        }