From 9b5a8a58d32c257193108fdd379f513b99fdac63 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Tue, 2 Sep 2025 21:43:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=AA=E4=BA=86=E5=A5=BD=E4=BD=BF=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 42496 -> 41984 bytes .../ArachnaeSwarm/AnimalWorkSystemPatcher.cs | 44 ++++++++---------- Source/ArachnaeSwarm/CompWorkForNonMechs.cs | 2 +- 3 files changed, 20 insertions(+), 26 deletions(-) diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 2cf200902fbc220f7e0cd7c54e0d96a8e440de72..86d134aa5d75d2ec08342cbc42e3559db1c3b4e0 100644 GIT binary patch delta 14513 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 delta 14864 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 U4}7mGkB!>tf9OlGevtkD0Df_L%K!iX diff --git a/Source/ArachnaeSwarm/AnimalWorkSystemPatcher.cs b/Source/ArachnaeSwarm/AnimalWorkSystemPatcher.cs index 7218fd5..6efbef3 100644 --- a/Source/ArachnaeSwarm/AnimalWorkSystemPatcher.cs +++ b/Source/ArachnaeSwarm/AnimalWorkSystemPatcher.cs @@ -16,36 +16,35 @@ namespace ArachnaeSwarm } } - [HarmonyPatch(typeof(Pawn_WorkSettings), nameof(Pawn_WorkSettings.EnableAndInitialize))] + [HarmonyPatch(typeof(Pawn_WorkSettings), "EnableAndInitialize")] public static class Patch_Pawn_WorkSettings_EnableAndInitialize { - // 缓存原始的 IsMechanoid 属性 Getter - private static PropertyInfo isMechanoidProperty = - typeof(RaceProperties).GetProperty("IsMechanoid", BindingFlags.Public | BindingFlags.Instance); - - public static bool Prefix(Pawn_WorkSettings __instance, Pawn ___pawn) + public static void Postfix(Pawn_WorkSettings __instance, Pawn ___pawn) { - // 检查是否是我们想要启用工作系统的动物 + // 检查是否是我们想要启用工作系统的动物,并且它不是机械体 + // 因为原版的 EnableAndInitialize 已经处理了机械体的工作设置 if (___pawn.Faction != null && ___pawn.Faction.IsPlayer && - !___pawn.RaceProps.IsMechanoid && // 真实身份不是机械体 - ShouldEnableWorkSystem(___pawn)) // 但我们需要为它启用工作系统 + !___pawn.RaceProps.IsMechanoid && + ShouldEnableWorkSystem(___pawn)) { - // 局部伪装成机械体来执行初始化逻辑 - - // 执行机械体工作优先级初始化逻辑(来自 Pawn_WorkSettings.EnableAndInitialize) - if (ModsConfig.BiotechActive && !___pawn.RaceProps.mechWorkTypePriorities.NullOrEmpty()) + // 获取 CompProperties_WorkForNonMechs + CompProperties_WorkForNonMechs compProps = null; + if (___pawn.def.comps != null) { - for (int i = 0; i < ___pawn.RaceProps.mechWorkTypePriorities.Count; i++) + foreach (var comp in ___pawn.def.comps) { - var priority = ___pawn.RaceProps.mechWorkTypePriorities[i]; - __instance.SetPriority(priority.def, priority.priority); + if (comp is CompProperties_WorkForNonMechs props) + { + compProps = props; + break; + } } } - - // 同时也可以初始化 mechEnabledWorkTypes 中的工作类型(如果你需要) - if (!___pawn.RaceProps.mechEnabledWorkTypes.NullOrEmpty()) + + if (compProps != null && compProps.workTypes != null) { - foreach (var workType in ___pawn.RaceProps.mechEnabledWorkTypes) + // 设置 CompProperties_WorkForNonMechs 中定义的工作类型优先级 + foreach (var workType in compProps.workTypes) { if (!__instance.WorkIsActive(workType) && !___pawn.WorkTypeIsDisabled(workType)) { @@ -53,12 +52,7 @@ namespace ArachnaeSwarm } } } - - // 阻止原方法继续执行(因为我们已经手动处理了初始化) - return false; } - - return true; // 其他情况正常执行原逻辑 } private static bool ShouldEnableWorkSystem(Pawn pawn) diff --git a/Source/ArachnaeSwarm/CompWorkForNonMechs.cs b/Source/ArachnaeSwarm/CompWorkForNonMechs.cs index 5558a3b..3f5b471 100644 --- a/Source/ArachnaeSwarm/CompWorkForNonMechs.cs +++ b/Source/ArachnaeSwarm/CompWorkForNonMechs.cs @@ -25,7 +25,7 @@ namespace ArachnaeSwarm var pawn = parent as Pawn; if (pawn == null || pawn.Faction == null || !pawn.Faction.IsPlayer) return; - // 启用工作设置 + // 确保 workSettings 实例存在 if (pawn.workSettings == null) { pawn.workSettings = new Pawn_WorkSettings(pawn);