From 089cdf14ad3cee08bdfa85442188a482a563767f Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 14 Jul 2011 01:24:03 +1200 Subject: [PATCH] Remove the baked harvester animation from proc. Fixes #1009. --- .../Activities/HarvesterDockSequence.cs | 28 ++++-------------- OpenRA.Mods.Cnc/TiberiumRefinery.cs | 13 -------- mods/cnc/bits/harvdump.shp | Bin 0 -> 23510 bytes mods/cnc/rules/vehicles.yaml | 1 - mods/cnc/sequences/structures.yaml | 24 --------------- mods/cnc/sequences/vehicles.yaml | 6 ++++ 6 files changed, 12 insertions(+), 60 deletions(-) create mode 100644 mods/cnc/bits/harvdump.shp diff --git a/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs b/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs index 5c4d04c68f..964261cf00 100644 --- a/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs +++ b/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs @@ -34,8 +34,7 @@ namespace OpenRA.Mods.Cnc readonly Actor proc; readonly Harvester harv; - readonly HarvesterDocking dock; - readonly RenderBuilding rb; + readonly RenderUnit ru; State state; int2 startDock; @@ -45,8 +44,7 @@ namespace OpenRA.Mods.Cnc this.proc = proc; state = State.Turn; harv = self.Trait(); - dock = self.Trait(); - rb = proc.Trait(); + ru = self.Trait(); startDock = self.Trait().PxPosition; endDock = proc.Trait().PxPosition + new int2(-15,8); } @@ -64,30 +62,16 @@ namespace OpenRA.Mods.Cnc state = State.Dock; return Util.SequenceActivities(new Drag(startDock, endDock, 12), this); case State.Dock: - dock.Visible = false; - if (rb.anim.CurrentSequence.Name == "idle" || rb.anim.CurrentSequence.Name == "damaged-idle") - { - rb.PlayCustomAnimThen(proc, "dock-start", () => {rb.PlayCustomAnimRepeating(proc, "dock-loop"); state = State.Loop;}); - state = State.Wait; - } - else - state = State.Loop; + ru.PlayCustomAnimation(self, "dock", () => {ru.PlayCustomAnimRepeating(self, "dock-loop"); state = State.Loop;}); + state = State.Wait; return this; case State.Loop: if (harv.TickUnload(self, proc)) state = State.Undock; return this; case State.Undock: - if (rb.anim.CurrentSequence.Name == "dock-loop" || rb.anim.CurrentSequence.Name == "damaged-dock-loop") - { - rb.PlayCustomAnimThen(proc, "dock-end", () => {dock.Visible = true; state = State.Dragout;}); - state = State.Wait; - } - else - { - state = State.Dragout; - dock.Visible = true; - } + ru.PlayCustomAnimBackwards(self, "dock", () => state = State.Dragout); + state = State.Wait; return this; case State.Dragout: return Util.SequenceActivities(new Drag(endDock, startDock, 12), NextActivity); diff --git a/OpenRA.Mods.Cnc/TiberiumRefinery.cs b/OpenRA.Mods.Cnc/TiberiumRefinery.cs index e0d549fdd4..18b7bea630 100644 --- a/OpenRA.Mods.Cnc/TiberiumRefinery.cs +++ b/OpenRA.Mods.Cnc/TiberiumRefinery.cs @@ -30,17 +30,4 @@ namespace OpenRA.Mods.Cnc return new HarvesterDockSequence(harv, self); } } - - public class HarvesterDockingInfo : TraitInfo { } - public class HarvesterDocking : IRenderModifier - { - [Sync] - public bool Visible = true; - - static readonly Renderable[] Nothing = { }; - public IEnumerable ModifyRender(Actor self, IEnumerable r) - { - return Visible ? r : Nothing; - } - } } diff --git a/mods/cnc/bits/harvdump.shp b/mods/cnc/bits/harvdump.shp new file mode 100644 index 0000000000000000000000000000000000000000..6a18f02abe072cd62b1f6a0965af1644d83981c3 GIT binary patch literal 23510 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