Add CanSpawn to ParticleEffect for runtime control over particles spawning

This commit is contained in:
2026-04-09 17:12:59 +02:00
parent 1d3d20e6c5
commit 9d3a2bc778
2 changed files with 7 additions and 1 deletions
+6
View File
@@ -192,6 +192,12 @@ public:
API_FIELD(Attributes="NoSerialize, HideInEditor")
ScriptingObjectReference<SceneRenderTask> CustomViewRenderTask;
/// <summary>
/// Toggles particles spawning functionality (for all emitters) at runtime.
/// </summary>
API_FIELD(Attributes="NoSerialize, HideInEditor")
bool CanSpawn = true;
public:
/// <summary>
/// The particles simulation update mode. Defines how to update particles emitter.
+1 -1
View File
@@ -1702,7 +1702,7 @@ void ParticlesSystem::Job(int32 index)
// Calculate new time position
const float startTime = (float)track.AsEmitter.StartFrame / fps;
const float durationTime = (float)track.AsEmitter.DurationFrames / fps;
const bool canSpawn = startTime <= instance.Time && instance.Time <= startTime + durationTime;
const bool canSpawn = startTime <= instance.Time && instance.Time <= startTime + durationTime && effect->CanSpawn;
// Update instance data
data.Sync(effect->Instance, particleSystem, track.AsEmitter.Index);