From 178af8b8499017f8307644e0e24228d9e60ef028 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 30 Aug 2010 21:56:05 +1200 Subject: [PATCH] cnc afld polish --- OpenRA.Mods.Cnc/ProductionAirdrop.cs | 6 +++++- OpenRA.Mods.RA/Render/RenderBuilding.cs | 6 ++++++ mods/cnc/sequences-structures.xml | 6 ++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.Cnc/ProductionAirdrop.cs b/OpenRA.Mods.Cnc/ProductionAirdrop.cs index 871d69018d..f5c77fe254 100644 --- a/OpenRA.Mods.Cnc/ProductionAirdrop.cs +++ b/OpenRA.Mods.Cnc/ProductionAirdrop.cs @@ -14,6 +14,7 @@ using OpenRA.Mods.RA; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; using OpenRA.Traits.Activities; +using OpenRA.Mods.RA.Render; namespace OpenRA.Mods.Cnc { @@ -39,6 +40,8 @@ namespace OpenRA.Mods.Cnc var spawn = self.CenterLocation + Spawns.First().First; var exit = self.Location + Spawns.First().Second; + var rb = self.Trait(); + rb.PlayCustomAnimRepeating(self, "active"); owner.World.AddFrameEndTask(w => { var a = w.CreateActor("C17", new TypeDictionary @@ -55,12 +58,13 @@ namespace OpenRA.Mods.Cnc new OwnerInit( self.Owner ), }); cargo.Load(a, newUnit); - + a.QueueActivity(new Fly(self.Location + new int2(6,0))); a.QueueActivity(new Land(Target.FromActor(self))); a.QueueActivity(new CallFunc(() => { if (self.IsDead()) return; + rb.PlayCustomAnimRepeating(self, "idle"); self.World.AddFrameEndTask(ww => DoProduction(self, cargo.Unload(self), exit, spawn)); })); a.QueueActivity(new Fly(endPos)); diff --git a/OpenRA.Mods.RA/Render/RenderBuilding.cs b/OpenRA.Mods.RA/Render/RenderBuilding.cs index f1c115f19f..805044e140 100644 --- a/OpenRA.Mods.RA/Render/RenderBuilding.cs +++ b/OpenRA.Mods.RA/Render/RenderBuilding.cs @@ -49,6 +49,12 @@ namespace OpenRA.Mods.RA.Render anim.PlayThen(GetPrefix(self) + name, () => { anim.PlayRepeating(GetPrefix(self) + "idle"); a(); }); } + + public void PlayCustomAnimRepeating(Actor self, string name) + { + anim.PlayThen(GetPrefix(self) + name, + () => { PlayCustomAnimRepeating(self, name); }); + } public void PlayCustomAnimBackwards(Actor self, string name, Action a) { diff --git a/mods/cnc/sequences-structures.xml b/mods/cnc/sequences-structures.xml index 9ceb21733e..9e8ab4cfde 100644 --- a/mods/cnc/sequences-structures.xml +++ b/mods/cnc/sequences-structures.xml @@ -62,8 +62,10 @@ - - + + + +