Support multiple WithDeathAnimation traits

This commit is contained in:
abcdefg30
2015-07-18 23:24:48 +02:00
parent c8a258faa0
commit 1518dc9145
2 changed files with 3 additions and 3 deletions

View File

@@ -49,7 +49,8 @@ namespace OpenRA.Mods.Common.Traits
public void OnCrush(Actor crusher)
{
Sound.Play(info.CrushSound, crusher.CenterPosition);
var wda = self.TraitOrDefault<WithDeathAnimation>();
var wda = self.TraitsImplementing<WithDeathAnimation>()
.FirstOrDefault(s => s.Info.CrushedSequence != null);
if (wda != null)
{
var palette = wda.Info.CrushedSequencePalette;

View File

@@ -82,8 +82,7 @@ namespace OpenRA.Mods.Common.Traits
var warhead = e.Warhead as DamageWarhead;
var damageType = warhead.DamageTypes.Intersect(Info.DeathTypes.Keys).FirstOrDefault();
if (damageType == null)
throw new Exception("Actor type `{0}` does not define a death animation for weapon with damage types `{1}`!"
.F(self.Info.Name, string.Join(", ", warhead.DamageTypes)));
return;
sequence += Info.DeathTypes[damageType];
}