Introduce INotifyAttack.PreparingAttack

And use it to allow triggering attack animations/overlays at a different point
than the actual weapon firing.
This commit is contained in:
reaperrr
2016-06-10 17:40:50 +02:00
parent 87537d9669
commit 75c49620d1
12 changed files with 40 additions and 10 deletions

View File

@@ -47,13 +47,15 @@ namespace OpenRA.Mods.Common.Traits.Render
wsb = init.Self.Trait<WithSpriteBody>();
}
public void Attacking(Actor self, Target target, Armament a, Barrel barrel)
void INotifyAttack.Attacking(Actor self, Target target, Armament a, Barrel barrel) { }
void INotifyAttack.PreparingAttack(Actor self, Target target, Armament a, Barrel barrel)
{
if (!string.IsNullOrEmpty(info.AttackSequence))
wsb.PlayCustomAnimation(self, info.AttackSequence, () => wsb.CancelCustomAnimation(self));
}
public void Tick(Actor self)
void ITick.Tick(Actor self)
{
if (string.IsNullOrEmpty(info.AimSequence) && string.IsNullOrEmpty(info.ReloadPrefix))
return;