From 3983c53e72a98dc8c9ba0752e58620456e582fec Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Sat, 6 Sep 2025 13:20:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98=E9=87=8D=E5=86=99CompDelayed?= =?UTF-8?q?TerrainSpawn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 78848 -> 78336 bytes 1.6/1.6/Defs/Thing_building/ARA_Building.xml | 3 - .../Thing_building/ARA_InteractiveEggSac.xml | 2 - .../CompDelayedTerrainSpawn.cs | 56 +++++++++--------- .../CompProperties_DelayedTerrainSpawn.cs | 6 +- 5 files changed, 33 insertions(+), 34 deletions(-) diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 4c3dbcaec985d16be2d770c491d06735a37dd59e..d1be993d41f7deedafe9d1ca57a1e449d3d7758b 100644 GIT binary patch delta 23073 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 a#Y*k2*b?QeNj+D!%hf~qPFYiG{eJ*H5nY=A delta 23343 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 diff --git a/1.6/1.6/Defs/Thing_building/ARA_Building.xml b/1.6/1.6/Defs/Thing_building/ARA_Building.xml index 1ac496a..bdf866e 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_Building.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_Building.xml @@ -249,7 +249,6 @@ 1200000
  • - 60 ARA_InsectCreep 6
  • @@ -425,7 +424,6 @@
  • - 60 ARA_InsectCreep 3
  • @@ -482,7 +480,6 @@
  • - 60 ARA_InsectCreep 6
  • diff --git a/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml b/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml index 6d9b930..82f2c50 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml @@ -86,7 +86,6 @@ 5
  • - 60 ARA_InsectCreep 4.6
  • @@ -147,7 +146,6 @@ 5
  • - 15 ARA_InsectCreep 8
  • diff --git a/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompDelayedTerrainSpawn.cs b/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompDelayedTerrainSpawn.cs index e861ef3..c65f320 100644 --- a/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompDelayedTerrainSpawn.cs +++ b/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompDelayedTerrainSpawn.cs @@ -3,55 +3,55 @@ using Verse; namespace ArachnaeSwarm { + /// + /// Spawns terrain around the parent thing instantly upon spawning. + /// Despite the class name, this component does NOT use any delay or Tick-based updates. + /// The logic runs only ONCE during the PostSpawnSetup phase for maximum performance. + /// There is no background counting or any process that continues after the spawn. + /// public class CompDelayedTerrainSpawn : ThingComp { private CompProperties_DelayedTerrainSpawn Props => (CompProperties_DelayedTerrainSpawn)props; - private int ticksToSpawn; - private bool started; - + /// + /// This is the ONLY time this component's logic runs. It is called by the game when the object is created on the map. + /// + /// True if loading from a save, which we will ignore. public override void PostSpawnSetup(bool respawningAfterLoad) { base.PostSpawnSetup(respawningAfterLoad); - StartDelayedSpawn(); - } - public override void CompTick() - { - base.CompTick(); - if (started) + // We only run this logic for brand new objects, not for objects loaded from a save file. + if (!respawningAfterLoad) { - ticksToSpawn--; - if (ticksToSpawn == 0) - { - DoTerrainSpawn(); - } + DoTerrainSpawn(); } } - private void StartDelayedSpawn() - { - started = true; - ticksToSpawn = Props.delayTicks; - } - + /// + /// This method performs the one-time action of spawning terrain. + /// It includes strong safety checks to prevent errors if the object is not fully initialized. + /// private void DoTerrainSpawn() { - if (parent.Destroyed) + // Safety Check: We ensure the object and its map exist before trying to do anything. + // If these conditions are not met, the method does nothing and simply stops. + if (parent == null || parent.Destroyed || parent.Map == null || Props.terrainToSpawn == null) { - return; + return; // Stop execution if anything is not ready. } - if (Props.terrainToSpawn != null) + // The core logic: iterate through nearby cells and change their terrain. + foreach (IntVec3 current in GenRadial.RadialCellsAround(parent.Position, Props.spawnRadius, true)) { - foreach (IntVec3 current in GenRadial.RadialCellsAround(parent.Position, Props.spawnRadius, true)) + if (current.InBounds(parent.Map) && current.Walkable(parent.Map)) { - if (current.InBounds(parent.Map) && current.Walkable(parent.Map)) - { - parent.Map.terrainGrid.SetTerrain(current, Props.terrainToSpawn); - } + parent.Map.terrainGrid.SetTerrain(current, Props.terrainToSpawn); } } } + + // NOTICE: There is NO CompTick() method here. This component does not perform any updates after it has spawned. + // NOTICE: There is NO ExposeData() method for timers because there are NO timers to save. } } \ No newline at end of file diff --git a/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompProperties_DelayedTerrainSpawn.cs b/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompProperties_DelayedTerrainSpawn.cs index 5eb53fb..e4b56c1 100644 --- a/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompProperties_DelayedTerrainSpawn.cs +++ b/Source/ArachnaeSwarm/ARA_BuildingTerrainSpawn/CompProperties_DelayedTerrainSpawn.cs @@ -2,14 +2,18 @@ using Verse; namespace ArachnaeSwarm { + /// + /// Properties for the CompDelayedTerrainSpawn component. + /// The logic has been optimized to run instantly on spawn, so the 'delayTicks' field is no longer used. + /// public class CompProperties_DelayedTerrainSpawn : CompProperties { - public int delayTicks = 0; public TerrainDef terrainToSpawn; public float spawnRadius = 0f; public CompProperties_DelayedTerrainSpawn() { + // The component logic now runs instantly, but the class name is kept for compatibility. compClass = typeof(CompDelayedTerrainSpawn); } }