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()
|
void ParticleEffect::OnParticleSystemLoaded()
|
||||||
|
{
|
||||||
|
ApplyModifiedParameters();
|
||||||
|
auto& emitters = ParticleSystem.Get()->Emitters;
|
||||||
|
for (auto& emitter : emitters)
|
||||||
|
{
|
||||||
|
emitter.Loaded.BindUnique<ParticleEffect, &ParticleEffect::OnParticleEmitterLoaded>(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ParticleEffect::OnParticleEmitterLoaded()
|
||||||
{
|
{
|
||||||
ApplyModifiedParameters();
|
ApplyModifiedParameters();
|
||||||
}
|
}
|
||||||
@@ -814,6 +824,10 @@ void ParticleEffect::OnActiveInTreeChanged()
|
|||||||
CacheModifiedParameters();
|
CacheModifiedParameters();
|
||||||
Instance.ClearState();
|
Instance.ClearState();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ApplyModifiedParameters();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParticleEffect::OnTransformChanged()
|
void ParticleEffect::OnTransformChanged()
|
||||||
|
|||||||
@@ -387,6 +387,7 @@ private:
|
|||||||
void ApplyModifiedParameters();
|
void ApplyModifiedParameters();
|
||||||
void OnParticleSystemModified();
|
void OnParticleSystemModified();
|
||||||
void OnParticleSystemLoaded();
|
void OnParticleSystemLoaded();
|
||||||
|
void OnParticleEmitterLoaded();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// [Actor]
|
// [Actor]
|
||||||
|
|||||||
Reference in New Issue
Block a user