private static void SavePre(GamePersistence __instance, out ModSaveData __state) { __state = new ModSaveData(); var saveData = (SaveData)AccessTools.Field(typeof(GamePersistence), "_saveData").GetValue(__instance); __state.Strip(saveData); }
private static void SavePost(GamePersistence __instance, ModSaveData __state) { AccessTools.Field(typeof(GamePersistence), "_saveData").SetValue(__instance, __state.ToSaveData()); var modSaveDataFile = File.CreateText(@"mods\ModSaveData.json"); var jsonStr = JsonConvert.SerializeObject(__state); modSaveDataFile.Write(jsonStr); modSaveDataFile.Flush(); modSaveDataFile.Close(); }