Esempio n. 1
0
            /// <summary>
            /// Sets the specified configuration for the values from the sepcified settings.
            /// </summary>
            /// <param name="settings">The settings.</param>
            internal void SetSettings(StandardServiceSettings settings)
            {
                this.Enabled                       = settings.DispatchVehicles;
                this.ChecksPreset                  = settings.ChecksPreset;
                this.CurrentChecks                 = settings.ChecksParameters;
                this.CustomChecks                  = settings.ChecksCustom;
                this.CreateSpareVehicles           = settings.CreateSpares;
                this.DispatchByDistrict            = settings.DispatchByDistrict;
                this.DispatchByRange               = settings.DispatchByRange;
                this.IgnoreRangeUseClosestBuilding = settings.IgnoreRangeUseClosestBuildings;

                this.RemoveVehiclesFromGrid       = settings.CanRemoveFromGrid && settings.RemoveFromGrid;
                this.LimitOpportunisticCollection = settings.CanLimitOpportunisticCollection && settings.LimitOpportunisticCollection;

                this.MinimumAmountForDispatch = settings.UseMinimumAmountForDispatch ? settings.MinimumAmountForDispatch : (ushort)0;
                this.MinimumGarbageForPatrol  = settings.UseMinimumAmountForPatrol ? settings.MinimumAmountForPatrol : (ushort)0;
            }
        /// <summary>
        /// Copies valus from the specified object to this instance.
        /// </summary>
        /// <param name="settings">The settings.</param>
        public override void CopyFrom(ServiceSettings settings)
        {
            base.CopyFrom(settings);

            if (settings is StandardServiceSettings)
            {
                this.DispatchByDistrict = ((StandardServiceSettings)settings).DispatchByDistrict;
                this.DispatchByRange    = ((StandardServiceSettings)settings).DispatchByRange;
                this.autoEmptyValue     = ((StandardServiceSettings)settings).autoEmptyValue;
                this.limitOpportunisticCollectionValue = ((StandardServiceSettings)settings).limitOpportunisticCollectionValue;
                this.removeFromGridValue            = ((StandardServiceSettings)settings).removeFromGridValue;
                this.IgnoreRangeUseClosestBuildings = ((StandardServiceSettings)settings).IgnoreRangeUseClosestBuildings;
                this.CreateSpares               = ((StandardServiceSettings)settings).CreateSpares;
                this.checksPresetValue          = ((StandardServiceSettings)settings).checksPresetValue;
                this.MinimumAmountForDispatch   = ((StandardServiceSettings)settings).MinimumAmountForDispatch;
                this.MinimumAmountForPatrol     = ((StandardServiceSettings)settings).MinimumAmountForPatrol;
                this.AutoEmptyStartLevelPercent = ((StandardServiceSettings)settings).AutoEmptyStartLevelPercent;
                this.AutoEmptyStopLevelPercent  = ((StandardServiceSettings)settings).AutoEmptyStopLevelPercent;
                this.customCheckParameters      = ((StandardServiceSettings)settings).customCheckParameters;
            }
        }
 /// <summary>
 /// Adds the specified data.
 /// </summary>
 /// <param name="data">The data.</param>
 public void Add(ServiceDispatcherSettings.BuildingCheckOrder data)
 {
     this.Add((byte)data);
 }
        /// <summary>
        /// Sets the settings.
        /// </summary>
        /// <param name="settings">The settings.</param>
        public void SetSettings(Settings settings)
        {
            this.DispatchByDistrict          = settings.DeathCare.DispatchByDistrict && settings.Garbage.DispatchByDistrict && settings.HealthCare.DispatchByDistrict;
            this.DispatchByRange             = settings.DeathCare.DispatchByRange || settings.Garbage.DispatchByRange || settings.HealthCare.DispatchByRange;
            this.RangeModifier               = settings.RangeModifier;
            this.RangeLimit                  = settings.RangeLimit;
            this.RangeMaximum                = settings.RangeMaximum;
            this.RangeMinimum                = settings.RangeMinimum;
            this.ReflectionAllowance         = settings.ReflectionAllowance;
            this.BlockTransferManagerOffers  = settings.BlockTransferManagerOffers;
            this.AssignmentCompatibilityMode = settings.AssignmentCompatibilityMode;
            this.CreationCompatibilityMode   = settings.CreationCompatibilityMode;

            this.DispatchHearses           = settings.DeathCare.DispatchVehicles;
            this.DispatchHearsesByDistrict = settings.DeathCare.DispatchByDistrict;
            this.DispatchHearsesByRange    = settings.DeathCare.DispatchByRange;
            this.RemoveHearsesFromGrid     = settings.DeathCare.RemoveFromGrid;
            this.CreateSpareHearses        = settings.DeathCare.CreateSpares;
            this.DeathChecksPreset         = settings.DeathCare.ChecksPreset;
            this.DeathChecksCustom         = settings.DeathCare.ChecksCustom;
            this.DeathChecksCurrent        = settings.DeathCare.ChecksParameters;
            this.IgnoreRangeUseClosestDeathCareBuilding = settings.DeathCare.IgnoreRangeUseClosestBuildings;
            this.AutoEmptyCemeteries = settings.DeathCare.AutoEmpty;
            this.AutoEmptyCemeteryStartLevelPercent = settings.DeathCare.AutoEmptyStartLevelPercent;
            this.AutoEmptyCemeteryStopLevelPercent  = settings.DeathCare.AutoEmptyStopLevelPercent;

            this.DispatchAmbulances                      = settings.HealthCare.DispatchVehicles;
            this.DispatchAmbulancesByDistrict            = settings.HealthCare.DispatchByDistrict;
            this.DispatchAmbulancesByRange               = settings.HealthCare.DispatchByRange;
            this.RemoveAmbulancesFromGrid                = settings.HealthCare.RemoveFromGrid;
            this.CreateSpareAmbulances                   = settings.HealthCare.CreateSpares;
            this.SickChecksPreset                        = settings.HealthCare.ChecksPreset;
            this.SickChecksCustom                        = settings.HealthCare.ChecksCustom;
            this.SickChecksCurrent                       = settings.HealthCare.ChecksParameters;
            this.IgnoreRangeUseClosestHealthCareBuilding = settings.HealthCare.IgnoreRangeUseClosestBuildings;

            this.DispatchGarbageTrucks               = settings.Garbage.DispatchVehicles;
            this.DispatchGarbageTrucksByDistrict     = settings.Garbage.DispatchByDistrict;
            this.DispatchGarbageTrucksByRange        = settings.Garbage.DispatchByRange;
            this.LimitOpportunisticGarbageCollection = settings.Garbage.LimitOpportunisticCollection;
            this.CreateSpareGarbageTrucks            = settings.Garbage.CreateSpares;
            this.MinimumGarbageForDispatch           = settings.Garbage.MinimumAmountForDispatch;
            this.MinimumGarbageForPatrol             = settings.Garbage.MinimumAmountForPatrol;
            this.GarbageChecksPreset  = settings.Garbage.ChecksPreset;
            this.GarbageChecksCustom  = settings.Garbage.ChecksCustom;
            this.GarbageChecksCurrent = settings.Garbage.ChecksParameters;
            this.IgnoreRangeUseClosestGarbageBuilding = settings.Garbage.IgnoreRangeUseClosestBuildings;
            this.AutoEmptyLandfills = settings.Garbage.AutoEmpty;
            this.AutoEmptyLandfillStartLevelPercent = settings.Garbage.AutoEmptyStartLevelPercent;
            this.AutoEmptyLandfillStopLevelPercent  = settings.Garbage.AutoEmptyStopLevelPercent;

            this.AutoBulldozeBuildings             = settings.WreckingCrews.DispatchVehicles;
            this.AutoBulldozeBuildingsDelaySeconds = settings.WreckingCrews.DelaySeconds;

            this.RemoveStuckVehicles             = settings.RecoveryCrews.DispatchVehicles;
            this.RemoveStuckVehiclesDelaySeconds = settings.RecoveryCrews.DelaySeconds;

            this.BuildingChecksPresets  = (Enum.GetValues(typeof(ServiceDispatcherSettings.BuildingCheckOrder)) as ServiceDispatcherSettings.BuildingCheckOrder[]).WhereSelectToArray(bco => bco != ServiceDispatcherSettings.BuildingCheckOrder.Custom, bco => new ServiceDispatcherSettings.BuildingChecksPresetInfo(bco));
            this.BuildingChecksPossible = (Enum.GetValues(typeof(ServiceDispatcherSettings.BuildingCheckParameters)) as ServiceDispatcherSettings.BuildingCheckParameters[]).WhereToArray(bcp => bcp != ServiceDispatcherSettings.BuildingCheckParameters.Undefined);

            this.Version   = CurrentVersion;
            this.SaveCount = settings.SaveCount;
        }