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:
+8
-5
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -1,12 +1,14 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Barotrauma.Particles;
|
||||
using Microsoft.Xna.Framework;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Barotrauma
|
||||
{
|
||||
partial class BackgroundSpritePrefab
|
||||
{
|
||||
public readonly Particles.ParticleEmitterPrefab ParticleEmitterPrefab;
|
||||
public readonly Vector2 EmitterPosition;
|
||||
public readonly List<ParticleEmitterPrefab> ParticleEmitterPrefabs;
|
||||
public readonly List<Vector2> EmitterPositions;
|
||||
|
||||
public readonly XElement SoundElement;
|
||||
public readonly Vector2 SoundPosition;
|
||||
|
||||
Reference in New Issue
Block a user