public void PlayExplosionSound(MineExplosionEvent e, MineNode mine, [JoinAll] SingleNode <SoundListenerBattleStateComponent> soundListener) { if (mine.mineSounds.ExplosionSound) { mine.mineSounds.ExplosionSound.Play(); } }
public void AlphaBlendByDistance(TimeUpdateEvent e, MineNode mine, [JoinByTank] EnemyTankNode tank, [JoinByBattle] SelfTankNode selfTank) { if (!mine.Entity.HasComponent <MineActivationGraphicsComponent>()) { Vector4 vector = MINE_ACTIVATION_COLOR; vector.w = MineCommonGraphicsSystem.BlendMine(mine.mineConfig, mine.effectInstance, mine.effectRendererGraphics, selfTank.hullInstance); mine.effectRendererGraphics.Renderer.material.SetColor("_Color", vector); } }
public void PlayDeactivationSound(RemoveEffectEvent e, MineNode mine, [JoinByTank] SingleNode <RemoteTankComponent> tank, [JoinAll] SingleNode <SoundListenerBattleStateComponent> soundListener) { mine.mineSounds.DeactivationSound.Play(); }
public void PrepareMinePosition(NodeAddedEvent evt, [Combine] MineNode mine, SingleNode <MapInstanceComponent> map) { Node[] nodes = new Node[] { mine, map }; base.NewEvent(new InitMinePlacingTransformEvent(mine.minePosition.Position)).AttachAll(nodes).Schedule(); }