public static void ModPatch_LimitLoadPost(object __instance, WgSaveLoadFile wgFile) { if (modIgnoreDifferent.Value) { // restore modId var fileModId = Traverse.Create(wgFile).Field("gameData").Property("ModId"); fileModId.SetValue(cacheModId); } }
// 去除读档Mod限制 UILoad.OnClick public static bool ModPatch_LimitLoadPre(object __instance, WgSaveLoadFile wgFile) { if (modIgnoreDifferent.Value) { // cache modId ModInfo currentModInfo = Traverse.Create(__instance).Property("Mod").GetValue <IModManager>().GetCurrentModInfo(); var fileModId = Traverse.Create(wgFile).Field("gameData").Property("ModId"); cacheModId = fileModId.GetValue <string>(); fileModId.SetValue(currentModInfo.Id); } return(true); }