蓝图拦截,初始事件

This commit is contained in:
Tourswen
2025-11-23 15:15:35 +08:00
parent ea31c5f563
commit 38bb0c39a1
18 changed files with 719 additions and 115 deletions

View File

@@ -0,0 +1,33 @@
using System.Collections.Generic;
using System.Linq;
using HarmonyLib;
using Verse;
using RimWorld;
namespace WulaFallenEmpire.Patches
{
[HarmonyPatch(typeof(ThingDefGenerator_Techprints))]
[HarmonyPatch("ImpliedTechprintDefs")]
public static class Patch_ThingDefGenerator_Techprints_ImpliedTechprintDefs_Postfix
{
private static readonly HashSet<string> BlockedTechprints = new HashSet<string>
{
"Techprint_WULA_Colony_License_LV1_Technology",
"Techprint_WULA_Colony_License_LV2_Technology",
"Techprint_WULA_Colony_License_LV3_Technology"
};
[HarmonyPostfix]
public static IEnumerable<ThingDef> Postfix(IEnumerable<ThingDef> __result)
{
foreach (ThingDef thingDef in __result)
{
if (thingDef?.defName != null && BlockedTechprints.Contains(thingDef.defName))
{
continue; // 跳过被阻止的科技蓝图
}
yield return thingDef;
}
}
}
}