Add an INotifyKilled interface, which is what most things that used INotifyDamaged actually cared about.

This commit is contained in:
Paul Chote
2011-04-16 10:58:35 +12:00
parent d9fc84b55e
commit 1c2574f4f4
22 changed files with 135 additions and 185 deletions

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Mods.RA
public object Create( ActorInitializer init ) { return new Cargo( init.self ); }
}
public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderVoice, INotifyDamage
public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderVoice, INotifyKilled
{
readonly Actor self;
List<Actor> cargo = new List<Actor>();
@@ -145,14 +145,11 @@ namespace OpenRA.Mods.RA
cargo.Add(a);
}
public void Damaged(Actor self, AttackInfo e)
public void Killed(Actor self, AttackInfo e)
{
if( e.DamageStateChanged && e.DamageState == DamageState.Dead )
{
foreach( var c in cargo )
c.Destroy();
cargo.Clear();
}
foreach( var c in cargo )
c.Destroy();
cargo.Clear();
}
}
}