From 2ad1a5d8dd15e6b379bdc5207cc9021ea2676e0d Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Tue, 28 Oct 2014 01:54:39 -0500 Subject: [PATCH 1/2] Extend using INotifyBuildComplete to Production. --- OpenRA.Mods.RA/Production.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OpenRA.Mods.RA/Production.cs b/OpenRA.Mods.RA/Production.cs index bd8ad78b9a..b334c2ca3b 100755 --- a/OpenRA.Mods.RA/Production.cs +++ b/OpenRA.Mods.RA/Production.cs @@ -105,6 +105,9 @@ namespace OpenRA.Mods.RA var bi = newUnit.Info.Traits.GetOrDefault(); if (bi != null && bi.InitialActivity != null) newUnit.QueueActivity(Game.CreateObject(bi.InitialActivity)); + + foreach (var t in newUnit.TraitsImplementing()) + t.BuildingComplete(newUnit); }); } From 6452b17c82188108c161b2214c65f79bbf1146da Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Tue, 28 Oct 2014 01:55:18 -0500 Subject: [PATCH 2/2] Made AnnounceOnBuild implement INotifyBuildComplete. --- OpenRA.Mods.RA/AnnounceOnBuild.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/OpenRA.Mods.RA/AnnounceOnBuild.cs b/OpenRA.Mods.RA/AnnounceOnBuild.cs index 315be243de..68c25f0d19 100644 --- a/OpenRA.Mods.RA/AnnounceOnBuild.cs +++ b/OpenRA.Mods.RA/AnnounceOnBuild.cs @@ -13,14 +13,11 @@ using OpenRA.Traits; namespace OpenRA.Mods.RA { [Desc("Play the Build voice of this actor when trained.")] - public class AnnounceOnBuildInfo : ITraitInfo - { - public object Create(ActorInitializer init) { return new AnnounceOnBuild(init.self); } - } + public class AnnounceOnBuildInfo : TraitInfo { } - public class AnnounceOnBuild + public class AnnounceOnBuild : INotifyBuildComplete { - public AnnounceOnBuild(Actor self) + public void BuildingComplete(Actor self) { Sound.PlayVoice("Build", self, self.Owner.Country.Race); }