kill cargo when the transport dies
This commit is contained in:
@@ -21,7 +21,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public readonly int UnloadFacing = 0;
|
public readonly int UnloadFacing = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderCursor, IOrderVoice
|
public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderCursor, IOrderVoice, INotifyDamage
|
||||||
{
|
{
|
||||||
List<Actor> cargo = new List<Actor>();
|
List<Actor> cargo = new List<Actor>();
|
||||||
public IEnumerable<Actor> Passengers { get { return cargo; } }
|
public IEnumerable<Actor> Passengers { get { return cargo; } }
|
||||||
@@ -114,5 +114,12 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
cargo.Add(a);
|
cargo.Add(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Damaged(Actor self, AttackInfo e)
|
||||||
|
{
|
||||||
|
if (e.DamageStateChanged && e.DamageState == DamageState.Dead)
|
||||||
|
foreach (var c in cargo)
|
||||||
|
c.Kill(e.Attacker);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user