diff --git a/src/cs/MonoGame.Extended.Particles/ParticleEffect.cs b/src/cs/MonoGame.Extended.Particles/ParticleEffect.cs index fc15c79b..628980e0 100644 --- a/src/cs/MonoGame.Extended.Particles/ParticleEffect.cs +++ b/src/cs/MonoGame.Extended.Particles/ParticleEffect.cs @@ -11,7 +11,7 @@ namespace MonoGame.Extended.Particles { public class ParticleEffect : Transform2, IDisposable { - public ParticleEffect(string name = null, bool autoTrigger = true, float autoTriggerDelay = 0f) + public ParticleEffect(string name = null) { Name = name; Emitters = new List(); @@ -74,10 +74,10 @@ namespace MonoGame.Extended.Particles Emitters[i].Trigger(position, layerDepth); } - public void Trigger(LineSegment line) + public void Trigger(LineSegment line, float layerDepth = 0) { for (var i = 0; i < Emitters.Count; i++) - Emitters[i].Trigger(line); + Emitters[i].Trigger(line, layerDepth); } public override string ToString() @@ -85,4 +85,4 @@ namespace MonoGame.Extended.Particles return Name; } } -} \ No newline at end of file +} diff --git a/src/cs/MonoGame.Extended.Particles/ParticleEmitter.cs b/src/cs/MonoGame.Extended.Particles/ParticleEmitter.cs index a7116869..05ac2839 100644 --- a/src/cs/MonoGame.Extended.Particles/ParticleEmitter.cs +++ b/src/cs/MonoGame.Extended.Particles/ParticleEmitter.cs @@ -53,6 +53,7 @@ namespace MonoGame.Extended.Particles public Vector2 Offset { get; set; } public List Modifiers { get; } public Profile Profile { get; set; } + public float LayerDepth { get; set; } public ParticleReleaseParameters Parameters { get; set; } public TextureRegion2D TextureRegion { get; set; } @@ -132,7 +133,7 @@ namespace MonoGame.Extended.Particles if (_nextAutoTrigger <= 0) { - Trigger(position); + Trigger(position, this.LayerDepth); _nextAutoTrigger = _autoTriggerFrequency; } } @@ -161,7 +162,7 @@ namespace MonoGame.Extended.Particles Release(position + Offset, numToRelease, layerDepth); } - public void Trigger(LineSegment line) + public void Trigger(LineSegment line, float layerDepth = 0) { var numToRelease = _random.Next(Parameters.Quantity); var lineVector = line.ToVector(); @@ -169,11 +170,11 @@ namespace MonoGame.Extended.Particles for (var i = 0; i < numToRelease; i++) { var offset = lineVector * _random.NextSingle(); - Release(line.Origin + offset, 1); + Release(line.Origin + offset, 1, layerDepth); } } - private void Release(Vector2 position, int numToRelease, float layerDepth = 0) + private void Release(Vector2 position, int numToRelease, float layerDepth) { var iterator = Buffer.Release(numToRelease);