Apply particle effect parameter overrides when emitter is changed and when activated in the tree.

This commit is contained in:
Chandler Cox
2025-07-05 19:36:45 -05:00
parent dbd8297612
commit d698bf96cc
2 changed files with 15 additions and 0 deletions

View File

@@ -546,6 +546,16 @@ void ParticleEffect::OnParticleSystemModified()
}
void ParticleEffect::OnParticleSystemLoaded()
{
ApplyModifiedParameters();
auto& emitters = ParticleSystem.Get()->Emitters;
for (auto& emitter : emitters)
{
emitter.Loaded.BindUnique<ParticleEffect, &ParticleEffect::OnParticleEmitterLoaded>(this);
}
}
void ParticleEffect::OnParticleEmitterLoaded()
{
ApplyModifiedParameters();
}
@@ -814,6 +824,10 @@ void ParticleEffect::OnActiveInTreeChanged()
CacheModifiedParameters();
Instance.ClearState();
}
else
{
ApplyModifiedParameters();
}
}
void ParticleEffect::OnTransformChanged()

View File

@@ -387,6 +387,7 @@ private:
void ApplyModifiedParameters();
void OnParticleSystemModified();
void OnParticleSystemLoaded();
void OnParticleEmitterLoaded();
public:
// [Actor]