ezEngine  Release 25.03
ezParticleSystemInstance Class Reference

A particle system stores all data for one 'layer' of a running particle effect. More...

#include <ParticleSystemInstance.h>

Public Types

using ParticleDeathHandler = ezEvent< const ezStreamGroupElementRemovedEvent & >::Handler
 

Public Member Functions

void Construct (ezUInt32 uiMaxParticles, ezWorld *pWorld, ezParticleEffectInstance *pOwnerEffect, float fSpawnCountMultiplier)
 
void Destruct ()
 
bool IsVisible () const
 
void SetEmitterEnabled (bool bEnable)
 
bool GetEmitterEnabled () const
 
bool HasActiveParticles () const
 
void ConfigureFromTemplate (const ezParticleSystemDescriptor *pTemplate)
 
void Finalize ()
 
void ReinitializeStreamProcessors (const ezParticleSystemDescriptor *pTemplate)
 
void CreateStreamProcessors (const ezParticleSystemDescriptor *pTemplate)
 
void SetupOptionalStreams ()
 
void SetTransform (const ezTransform &transform, const ezVec3 &vParticleStartVelocity)
 
const ezTransformGetTransform () const
 
const ezVec3GetParticleStartVelocity () const
 
ezParticleSystemState::Enum Update (const ezTime &diff)
 
ezWorldGetWorld () const
 
ezUInt64 GetMaxParticles () const
 
ezUInt64 GetNumActiveParticles () const
 
ezProcessingStreamQueryStream (const char *szName, ezProcessingStream::DataType type) const
 Returns the desired stream, if it already exists, nullptr otherwise.
 
void CreateStream (const char *szName, ezProcessingStream::DataType type, ezProcessingStream **pStream, ezParticleStreamBinding &ref_binding, bool bExpectInitializedValue)
 Returns the desired stream, if it already exists, creates it otherwise.
 
void ProcessEventQueue (ezParticleEventQueue queue)
 
ezParticleEffectInstanceGetOwnerEffect () const
 
ezParticleWorldModuleGetOwnerWorldModule () const
 
void ExtractSystemRenderData (ezMsgExtractRenderData &ref_msg, const ezTransform &instanceTransform) const
 
void AddParticleDeathEventHandler (ParticleDeathHandler handler)
 
void RemoveParticleDeathEventHandler (ParticleDeathHandler handler)
 
void SetBoundingVolume (const ezBoundingBoxSphere &volume, float fMaxParticleSize)
 
const ezBoundingBoxSphereGetBoundingVolume () const
 
bool IsContinuous () const
 
float GetSpawnCountMultiplier () const
 

Detailed Description

A particle system stores all data for one 'layer' of a running particle effect.


The documentation for this class was generated from the following files: