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); } 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); }); }