/// <summary>
 /// Initializes a new instance of the <see cref="BuildingChecksPresetInfo" /> class.
 /// </summary>
 /// <param name="buildingCheckOrder">The building check order preset.</param>
 public BuildingChecksPresetInfo(BuildingCheckOrder buildingCheckOrder)
 {
     this.Identifier     = buildingCheckOrder;
     this.Name           = Settings.GetBuildingCheckOrderName(buildingCheckOrder);
     this.Description    = Settings.GetBuildingCheckOrderDescription(buildingCheckOrder);
     this.BuildingChecks = Settings.GetBuildingChecksParameters(this.Identifier);
 }
        /// <summary>
        /// Logs the settings.
        /// </summary>
        public override void LogSettings()
        {
            base.LogSettings();

            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "DispatchByDistrict", this.DispatchByDistrict);
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "DispatchByRange", this.DispatchByRange);
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "CreateSpares", this.CreateSpares);
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "ChecksPreset", (byte)this.ChecksPreset, this.ChecksPreset, Settings.GetBuildingCheckOrderName(this.ChecksPreset));
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "ChecksParameters", String.Join(", ", this.ChecksParameters.SelectToArray(bc => bc.ToString())));
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "ChecksCustom", this.ChecksCustomString);
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "IgnoreRangeUseClosestBuildings", this.IgnoreRangeUseClosestBuildings);
            Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "Patrol", this.Patrol);

            if (this.CanRemoveFromGrid)
            {
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "RemoveFromGrid", this.RemoveFromGrid);
            }

            if (this.CanLimitOpportunisticCollection)
            {
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "LimitOportunisticCollection", this.LimitOpportunisticCollection);
            }

            if (this.UseMinimumAmountForDispatch)
            {
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "MinimumAmountForDispatch", this.MinimumAmountForDispatch);
            }

            if (this.UseMinimumAmountForPatrol)
            {
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "MinimumAmountForPatrol", this.MinimumAmountForPatrol);
            }

            if (this.CanAutoEmpty)
            {
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "AutoEmpty", this.AutoEmpty);
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "AutoEmptyStartLevelPercent", this.AutoEmptyStartLevelPercent);
                Log.Debug(this, "LogSettings", this.VehicleNamePlural, this.MaterialName, "AutoEmptyStopLevelPercent", this.AutoEmptyStopLevelPercent);
            }
        }