public static void Postfix(SimGameDifficulty.DifficultySetting setting, int index, List <SimGameDifficulty.DifficultyConstantValue> __state)
 {
     if (__state != null)
     {
         setting.Options[index].DifficultyConstants = __state;
     }
 }
예제 #2
0
 Prefix(SimGameDifficulty.DifficultySetting setting)
 {
     /*
      * this function will enable/disable difficulty-settings-cheats
      * based on settings.json
      */
     if (
         setting.ID.IndexOf("cheat_") == 0 &&
         Local.state.getItem(setting.ID) == ""
         )
     {
         return(false);
     }
     return(true);
 }
 public static void Prefix(SimGameDifficulty __instance, bool force, SimGameState ___simState, SimGameDifficulty.DifficultySetting setting, int index,
                           Dictionary <string, int> ___difficultyIndices,
                           ref List <SimGameDifficulty.DifficultyConstantValue> __state)
 {
     __state = null;
     if (setting == null)
     {
         return;
     }
     if (!force && ___difficultyIndices[setting.ID] == index)
     {
         return;
     }
     if (index >= setting.Options.Count)
     {
         return;
     }
     if (!setting.Enabled)
     {
         return;
     }
     try
     {
         SimGameDifficulty.DifficultyOption opt = setting.Options[index];
         if (opt.DifficultyConstants != null)
         {
             __state = opt.DifficultyConstants;
             foreach (SimGameDifficulty.DifficultyConstantValue v in opt.DifficultyConstants)
             {
                 if (v.ConstantType.Equals("AdditionalSettings"))
                 {
                     DifficultyOptionsMain.ApplySettings(___simState, setting.ID, v.ConstantName, v.ConstantValue);
                 }
             }
             opt.DifficultyConstants = opt.DifficultyConstants.Where((x) => !x.ConstantType.Equals("AdditionalSettings")).ToList();
         }
     }
     catch (Exception e)
     {
         FileLog.Log(e.ToString());
     }
 }