Example #1
0
 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);
     }
 }
Example #3
0
 public void PlayDeactivationSound(RemoveEffectEvent e, MineNode mine, [JoinByTank] SingleNode <RemoteTankComponent> tank, [JoinAll] SingleNode <SoundListenerBattleStateComponent> soundListener)
 {
     mine.mineSounds.DeactivationSound.Play();
 }
Example #4
0
 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();
 }