From 2d4d171eb92dce968a81ac146f3b77a00c34a0b2 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Wed, 3 Sep 2025 12:45:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98=E4=BF=AE=E6=94=B6=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 49152 -> 49152 bytes Source/ArachnaeSwarm/JobGiver_Grower.cs | 57 +++++++++++++++--------- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index d270c71c8cacc052faabecc6135bd825feb8bc3c..bdd2907b92d869dad6aca5028d962491b488d120 100644 GIT binary patch delta 15545 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 V*MIPzs`5dfz2-0fCOWDe{|g_Zw1fZv delta 15600 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 YUAuaG|M4$X=^WH!{OWI_yN~_90h7sOIsgCw diff --git a/Source/ArachnaeSwarm/JobGiver_Grower.cs b/Source/ArachnaeSwarm/JobGiver_Grower.cs index 29e70f5..9f22bb2 100644 --- a/Source/ArachnaeSwarm/JobGiver_Grower.cs +++ b/Source/ArachnaeSwarm/JobGiver_Grower.cs @@ -9,7 +9,7 @@ namespace ArachnaeSwarm { private WorkGiver_GrowerHarvest _workGiverHarvest; private WorkGiver_ArachnaeSow _workGiverArachnaeSow; // 修改为我们的新 WorkGiver - + protected override Job TryGiveJob(Pawn pawn) { // 懒加载 WorkGiver 实例,确保 DefOf 已被初始化 @@ -17,22 +17,21 @@ namespace ArachnaeSwarm { _workGiverHarvest = WorkGiverDefOf.GrowerHarvest.Worker as WorkGiver_GrowerHarvest; _workGiverArachnaeSow = new WorkGiver_ArachnaeSow(); // 直接实例化我们的 WorkGiver - + if (_workGiverHarvest == null || _workGiverArachnaeSow == null) { Log.ErrorOnce("JobGiver_Grower: Failed to get WorkGiver_GrowerHarvest or WorkGiver_ArachnaeSow. DefOfs might not be initialized or WorkGiver_ArachnaeSow could not be instantiated.", 123457); return null; } } - - // 1. 优先收获 - Thing bestHarvestable = FindClosestThing(pawn, _workGiverHarvest); - if (bestHarvestable != null) + + // 1. 优先收获 - 使用基于 Cell 的新方法 + IntVec3 bestHarvestCell = FindClosestHarvestableCell(pawn); + if (bestHarvestCell.IsValid) { - // 调用 JobOnCell 以利用 WorkGiver_GrowerHarvest 的多目标打包逻辑 - return _workGiverHarvest.JobOnCell(pawn, bestHarvestable.Position); + return _workGiverHarvest.JobOnCell(pawn, bestHarvestCell); } - + // 2. 其次播种 (IntVec3 bestSowCell, ThingDef plantToSow) = FindClosestSowableCellAndPlant(pawn, _workGiverArachnaeSow); // 使用我们的新 WorkGiver if (bestSowCell.IsValid && plantToSow != null) @@ -43,20 +42,35 @@ namespace ArachnaeSwarm return null; } - - private Thing FindClosestThing(Pawn pawn, WorkGiver_Scanner scanner) + + private IntVec3 FindClosestHarvestableCell(Pawn pawn) { - return GenClosest.ClosestThingReachable( - pawn.Position, - pawn.Map, - scanner.PotentialWorkThingRequest, - PathEndMode.Touch, - TraverseParms.For(pawn), - 9999f, - t => scanner.HasJobOnThing(pawn, t) - ); - } + IntVec3 bestCell = IntVec3.Invalid; + float bestDistSq = float.MaxValue; + foreach (Zone zone in pawn.Map.zoneManager.AllZones) + { + if (zone is Zone_Growing growingZone) + { + // 遍历区域中的所有单元格 + foreach (IntVec3 cell in growingZone.Cells) + { + float distSq = pawn.Position.DistanceToSquared(cell); + if (distSq < bestDistSq && pawn.CanReach(cell, PathEndMode.ClosestTouch, Danger.Deadly)) + { + // 使用 HasJobOnCell 来判断是否可以收获 + if (_workGiverHarvest.HasJobOnCell(pawn, cell)) + { + bestDistSq = distSq; + bestCell = cell; + } + } + } + } + } + return bestCell; + } + private (IntVec3, ThingDef) FindClosestSowableCellAndPlant(Pawn pawn, WorkGiver_ArachnaeSow scanner) // 修改为我们的新 WorkGiver 类型 { IntVec3 bestCell = IntVec3.Invalid; @@ -97,7 +111,6 @@ namespace ArachnaeSwarm public static class WorkGiverDefOf { public static WorkGiverDef GrowerHarvest; - public static WorkGiverDef GrowerSow; static WorkGiverDefOf() {