Apply particle effect parameter overrides when emitter is changed and when activated in the tree.
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -387,6 +387,7 @@ private:
|
||||
void ApplyModifiedParameters();
|
||||
void OnParticleSystemModified();
|
||||
void OnParticleSystemLoaded();
|
||||
void OnParticleEmitterLoaded();
|
||||
|
||||
public:
|
||||
// [Actor]
|
||||
|
||||
Reference in New Issue
Block a user