check voice actor references

This commit is contained in:
Matthias Mailänder
2015-06-20 12:09:58 +02:00
parent 264a63e58c
commit 50e5e9df24
52 changed files with 390 additions and 81 deletions

View File

@@ -19,10 +19,22 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA.Traits
{
class DemoTruckInfo : TraitInfo<DemoTruck>, Requires<ExplodesInfo> { }
class DemoTruckInfo : ITraitInfo, Requires<ExplodesInfo>
{
[VoiceReference] public readonly string Voice = "Action";
public object Create(ActorInitializer init) { return new DemoTruck(init.Self, this); }
}
class DemoTruck : IIssueOrder, IResolveOrder, IOrderVoice
{
readonly DemoTruckInfo info;
public DemoTruck(Actor self, DemoTruckInfo info)
{
this.info = info;
}
static void Explode(Actor self)
{
self.World.AddFrameEndTask(w => self.InflictDamage(self, int.MaxValue, null));
@@ -50,7 +62,7 @@ namespace OpenRA.Mods.RA.Traits
public string VoicePhraseForOrder(Actor self, Order order)
{
return "Attack";
return info.Voice;
}
public void ResolveOrder(Actor self, Order order)