Merge pull request #6851 from atlimit8/BuildingCompleteForProduction

Use INotifyBuildComplete for Production & AnnounceOnBuild
This commit is contained in:
obrakmann
2014-10-29 16:38:20 +01:00
2 changed files with 6 additions and 6 deletions

View File

@@ -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<AnnounceOnBuild> { }
public class AnnounceOnBuild
public class AnnounceOnBuild : INotifyBuildComplete
{
public AnnounceOnBuild(Actor self)
public void BuildingComplete(Actor self)
{
Sound.PlayVoice("Build", self, self.Owner.Country.Race);
}

View File

@@ -105,6 +105,9 @@ namespace OpenRA.Mods.RA
var bi = newUnit.Info.Traits.GetOrDefault<BuildableInfo>();
if (bi != null && bi.InitialActivity != null)
newUnit.QueueActivity(Game.CreateObject<Activity>(bi.InitialActivity));
foreach (var t in newUnit.TraitsImplementing<INotifyBuildComplete>())
t.BuildingComplete(newUnit);
});
}