From d698bf96cca0f156a4d152bac1e5f618567d674c Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Sat, 5 Jul 2025 19:36:45 -0500 Subject: [PATCH] Apply particle effect parameter overrides when emitter is changed and when activated in the tree. --- Source/Engine/Particles/ParticleEffect.cpp | 14 ++++++++++++++ Source/Engine/Particles/ParticleEffect.h | 1 + 2 files changed, 15 insertions(+) diff --git a/Source/Engine/Particles/ParticleEffect.cpp b/Source/Engine/Particles/ParticleEffect.cpp index c1031f4ac..de4abb53d 100644 --- a/Source/Engine/Particles/ParticleEffect.cpp +++ b/Source/Engine/Particles/ParticleEffect.cpp @@ -546,6 +546,16 @@ void ParticleEffect::OnParticleSystemModified() } void ParticleEffect::OnParticleSystemLoaded() +{ + ApplyModifiedParameters(); + auto& emitters = ParticleSystem.Get()->Emitters; + for (auto& emitter : emitters) + { + emitter.Loaded.BindUnique(this); + } +} + +void ParticleEffect::OnParticleEmitterLoaded() { ApplyModifiedParameters(); } @@ -814,6 +824,10 @@ void ParticleEffect::OnActiveInTreeChanged() CacheModifiedParameters(); Instance.ClearState(); } + else + { + ApplyModifiedParameters(); + } } void ParticleEffect::OnTransformChanged() diff --git a/Source/Engine/Particles/ParticleEffect.h b/Source/Engine/Particles/ParticleEffect.h index 9be31c4c7..2727ac794 100644 --- a/Source/Engine/Particles/ParticleEffect.h +++ b/Source/Engine/Particles/ParticleEffect.h @@ -387,6 +387,7 @@ private: void ApplyModifiedParameters(); void OnParticleSystemModified(); void OnParticleSystemLoaded(); + void OnParticleEmitterLoaded(); public: // [Actor]