Merge pull request #6851 from atlimit8/BuildingCompleteForProduction
Use INotifyBuildComplete for Production & AnnounceOnBuild
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user