public void StopShaftShotSoundEffects(NodeRemoveEvent evt, ActiveTankNode tank, [JoinByTank] ReadyShaftShotSoundEffectNode weapon)
 {
     weapon.shaftAimingShotSoundEffect.Stop();
     weapon.shaftQuickShotSoundEffect.Stop();
     this.StopCooldownSounds(weapon);
 }
 public void PlayShaftStartCooldownEffect(ShaftShotAnimationCooldownStartEvent evt, ReadyShaftShotSoundEffectNode weapon)
 {
     weapon.shaftClosingCooldownSoundEffect.Stop();
     weapon.shaftStartCooldownSoundEffect.Play();
     weapon.shaftRollCooldownSoundEffect.Play();
 }
 private void StopCooldownSounds(ReadyShaftShotSoundEffectNode weapon)
 {
     weapon.shaftStartCooldownSoundEffect.Stop();
     weapon.shaftClosingCooldownSoundEffect.Stop();
     weapon.shaftRollCooldownSoundEffect.Stop();
 }
 public void PlayShaftQuickShotEffect(BaseShotEvent evt, ReadyShaftShotSoundEffectNode weapon, [JoinByTank] SingleNode <ShaftIdleStateComponent> state, [JoinByTank] ActiveTankNode tank)
 {
     this.StopCooldownSounds(weapon);
     weapon.shaftAimingShotSoundEffect.Stop();
     weapon.shaftQuickShotSoundEffect.Play();
 }