static HarmonyPatches() { Harmony harmony = new Harmony("LongerCFloor.ProxyHeat"); CompTemperatureSource.gasCompType = AccessTools.TypeByName("GasNetwork.CompGasTrader"); if (CompTemperatureSource.gasCompType != null) { CompTemperatureSource.methodInfoGasOn = AccessTools.PropertyGetter(CompTemperatureSource.gasCompType, "GasOn"); } harmony.PatchAll(); if (ModLister.HasActiveModWithName("Brrr and Phew (Continued)")) { var prefix = AccessTools.Method(typeof(HarmonyPatches), nameof(HarmonyPatches.TryGiveJobPrefix)); var postfix = AccessTools.Method(typeof(HarmonyPatches), nameof(HarmonyPatches.TryGiveJobPostfix)); foreach (var type in GenTypes.AllSubclasses(typeof(ThinkNode_JobGiver))) { if (type.Namespace == "Brrr") { var method = AccessTools.Method(type, "TryGiveJob"); harmony.Patch(method, new HarmonyMethod(prefix), new HarmonyMethod(postfix)); } } var genNewRRJobMethod = AccessTools.Method("Brrr.BrrrGlobals:GenNewRRJob"); harmony.Patch(genNewRRJobMethod, new HarmonyMethod(typeof(HarmonyPatches), nameof(HarmonyPatches.GenNewRRJobPrefix))); var meth_JobGiver_Brrr_TryGiveJob = AccessTools.Method("Brrr.JobGiver_Brrr:TryGiveJob"); harmony.Patch(meth_JobGiver_Brrr_TryGiveJob, null, null, new HarmonyMethod(typeof(HarmonyPatches), nameof(HarmonyPatches.JobGiver_BrrrTranspiler))); var meth_JobGiver_Phew_TryGiveJob = AccessTools.Method("Brrr.JobGiver_Phew:TryGiveJob"); harmony.Patch(meth_JobGiver_Phew_TryGiveJob, null, null, new HarmonyMethod(typeof(HarmonyPatches), nameof(HarmonyPatches.JobGiver_PhewTranspiler))); } }
private static void ClearAllPlayData() { LanguageDatabase.Clear(); LoadedModManager.ClearDestroy(); foreach (Type genericParam in GenTypes.AllSubclasses(typeof(Def))) { GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), genericParam, "Clear"); } ThingCategoryNodeDatabase.Clear(); BackstoryDatabase.Clear(); SolidBioDatabase.Clear(); PlayDataLoader.loaded = false; }
private static void ClearAllPlayData() { LanguageDatabase.Clear(); // A14 - ModContentPackManager was removed? LoadedModManager.ClearDestroy(); foreach (Type genericParam in GenTypes.AllSubclasses(typeof(Def))) { GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), genericParam, "Clear"); } ThingCategoryNodeDatabase.Clear(); BackstoryDatabase.Clear(); SolidBioDatabase.Clear(); PlayDataLoader_loaded.SetValue(null, false); }
public override bool Perform(Node node) { if (!base.Perform(node)) { return(false); } if (node.fromSave) { return(true); } if (allDrivers) { node.outputPorts[0].SetData(GenTypes.AllSubclasses(baseDriver).Where(t => !driverException.Contains(t)).ToList()); } else { node.outputPorts[0].SetData(driverList); } return(true); }