protected BaseGrowthZoneClusterConsumption(
     Func <ZoneInfoFinder> createZoneInfoFinderFunc,
     Color color)
     : base(
         createZoneInfoFinderFunc: createZoneInfoFinderFunc,
         electricityBehaviour: new ElectricityConsumerBehaviour(15),
         color: color,
         widthInZones: 3,
         heightInZones: 3
         )
 {
     PollutionBehaviour =
         new DynamicPollutionBehaviour(() => Convert.ToInt32(PopulationDensity * PopulationPollutionFactor));
     CrimeBehaviour      = new DynamicCrimeBehaviour(() => Convert.ToInt32(PopulationDensity * PopulationCrimeFactor));
     FireHazardBehaviour = new DynamicFireHazardBehaviour(() => Convert.ToInt32(PopulationDensity * PopulationCrimeFactor));
 }
Exemplo n.º 2
0
        public RoadZoneConsumption(ZoneInfoFinder neighborNavigator)
            : base(neighborNavigator)
        {
            PollutionBehaviour = new DynamicPollutionBehaviour(() =>
            {
                switch (GetTrafficDensity())
                {
                case TrafficDensity.None:
                    return(0);

                case TrafficDensity.Low:
                    return(3);

                case TrafficDensity.High:
                    return(8);

                default:
                    throw new InvalidOperationException();
                }
            });
        }