Exemple #1
0
 public override void ResetSettings()
 {
     base.ResetSettings();
     VehicleMod.cachedFields.Clear();
     VehicleMod.PopulateCachedFields();
     fieldSettings.Clear();
     if (VehicleMod.ModifiableSettings)
     {
         foreach (VehicleDef def in DefDatabase <VehicleDef> .AllDefs)
         {
             SettingsCustomizableFields.PopulateSaveableFields(def, true);
         }
     }
 }
        static SettingsCustomizableFields()
        {
            if (VehicleMod.ModifiableSettings)
            {
                List <bool> successfulGenerations = new List <bool>();

                VehicleMod.PopulateCachedFields();
                foreach (VehicleDef def in DefDatabase <VehicleDef> .AllDefs)
                {
                    bool fields   = PopulateSaveableFields(def);
                    bool upgrades = PopulateSaveableUpgrades(def);
                    successfulGenerations.Add(fields);
                    successfulGenerations.Add(upgrades);
                    if (!fields || !upgrades)
                    {
                        VehicleMod.settingsDisabledFor.Add(def.defName);
                    }
                }
                if (successfulGenerations.All(b => b == false))
                {
                    Log.Error($"SaveableFields have failed for every VehicleDef. Consider turning off the ModifiableSettings option in the ModSettings to bypass customizable field generation. This will require a restart.");
                }
            }
        }