diff --git a/OpenRA.Mods.TS/Activities/VoxelHarvesterDockSequence.cs b/OpenRA.Mods.TS/Activities/VoxelHarvesterDockSequence.cs index 37ba084601..142756c4d5 100644 --- a/OpenRA.Mods.TS/Activities/VoxelHarvesterDockSequence.cs +++ b/OpenRA.Mods.TS/Activities/VoxelHarvesterDockSequence.cs @@ -18,19 +18,21 @@ using OpenRA.Traits; namespace OpenRA.Mods.TS { - public class SimpleHarvesterDockSequence : Activity + public class VoxelHarvesterDockSequence : Activity { enum State { Turn, Dock, Loop, Undock } readonly Actor proc; readonly Harvester harv; + readonly WithVoxelUnloadBody body; State state; - public SimpleHarvesterDockSequence(Actor self, Actor proc) + public VoxelHarvesterDockSequence(Actor self, Actor proc) { this.proc = proc; state = State.Turn; harv = self.Trait(); + body = self.Trait(); } public override Activity Tick(Actor self) @@ -45,6 +47,7 @@ namespace OpenRA.Mods.TS foreach (var nd in proc.TraitsImplementing()) nd.Docked(proc, self); state = State.Loop; + body.Docked = true; return this; case State.Loop: if (!proc.IsInWorld || proc.IsDead() || harv.TickUnload(self, proc)) @@ -54,6 +57,7 @@ namespace OpenRA.Mods.TS if (proc.IsInWorld && !proc.IsDead()) foreach (var nd in proc.TraitsImplementing()) nd.Undocked(proc, self); + body.Docked = false; return NextActivity; } diff --git a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj index 5735d2e813..17c23d245a 100644 --- a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj +++ b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj @@ -50,6 +50,7 @@ +