Multiple particle emitters can be be attached to a background sprite, hydrothermal vents push characters and subs upwards, tweaked hydrothermal smoke particles & trigger positioning

This commit is contained in:
Joonas Rikkonen
2017-08-26 17:07:13 +03:00
parent 1a12f46708
commit 362428280a
8 changed files with 128 additions and 48 deletions
@@ -8,7 +8,7 @@ namespace Barotrauma
{
partial class BackgroundSprite
{
public ParticleEmitter ParticleEmitter;
public List<ParticleEmitter> ParticleEmitters;
public Sound Sound;
}
@@ -22,10 +22,13 @@ namespace Barotrauma
{
foreach (BackgroundSprite s in visibleSprites)
{
if (s.ParticleEmitter != null)
if (s.ParticleEmitters != null)
{
Vector2 emitterPos = s.LocalToWorld(new Vector2(s.Prefab.EmitterPosition.X, s.Prefab.EmitterPosition.Y));
s.ParticleEmitter.Emit(deltaTime, emitterPos);
for (int i = 0; i < s.ParticleEmitters.Count; i++)
{
Vector2 emitterPos = s.LocalToWorld(s.Prefab.EmitterPositions[i]);
s.ParticleEmitters[i].Emit(deltaTime, emitterPos);
}
}
if (s.Sound != null)
@@ -38,7 +41,7 @@ namespace Barotrauma
}
else
{
s.Sound.UpdatePosition(soundPos);
s.Sound.UpdatePosition(soundPos);
}
}
}