Fix crushed sequences not appearing due to an FrameEndTask
This commit is contained in:
@@ -86,7 +86,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (e.Warhead == null || !(e.Warhead is DamageWarhead))
|
if (e.Warhead == null || !(e.Warhead is DamageWarhead))
|
||||||
{
|
{
|
||||||
if (Info.FallbackSequence != null)
|
if (Info.FallbackSequence != null)
|
||||||
SpawnDeathAnimation(self, Info.FallbackSequence, palette);
|
SpawnDeathAnimation(self, self.CenterPosition, rs.GetImage(self), Info.FallbackSequence, palette);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -102,16 +102,12 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
sequence += Info.DeathTypes[damageType];
|
sequence += Info.DeathTypes[damageType];
|
||||||
}
|
}
|
||||||
|
|
||||||
SpawnDeathAnimation(self, sequence, palette);
|
SpawnDeathAnimation(self, self.CenterPosition, rs.GetImage(self), sequence, palette);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SpawnDeathAnimation(Actor self, string sequence, string palette)
|
public void SpawnDeathAnimation(Actor self, WPos pos, string image, string sequence, string palette)
|
||||||
{
|
{
|
||||||
self.World.AddFrameEndTask(w =>
|
self.World.AddFrameEndTask(w => w.Add(new Corpse(w, pos, image, sequence, palette)));
|
||||||
{
|
|
||||||
if (!self.Disposed)
|
|
||||||
w.Add(new Corpse(w, self.CenterPosition, rs.GetImage(self), sequence, palette));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void INotifyCrushed.OnCrush(Actor self, Actor crusher, HashSet<string> crushClasses)
|
void INotifyCrushed.OnCrush(Actor self, Actor crusher, HashSet<string> crushClasses)
|
||||||
@@ -125,7 +121,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (Info.CrushedPaletteIsPlayerPalette)
|
if (Info.CrushedPaletteIsPlayerPalette)
|
||||||
crushPalette += self.Owner.InternalName;
|
crushPalette += self.Owner.InternalName;
|
||||||
|
|
||||||
SpawnDeathAnimation(self, Info.CrushedSequence, crushPalette);
|
SpawnDeathAnimation(self, self.CenterPosition, rs.GetImage(self), Info.CrushedSequence, crushPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
void INotifyCrushed.WarnCrush(Actor self, Actor crusher, HashSet<string> crushClasses) { }
|
void INotifyCrushed.WarnCrush(Actor self, Actor crusher, HashSet<string> crushClasses) { }
|
||||||
|
|||||||
Reference in New Issue
Block a user