Add CanSpawn to ParticleEffect for runtime control over particles spawning
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user