Plasma Engine  2.0
Loading...
Searching...
No Matches
plParticleSystemInstance Class Reference

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

#include <ParticleSystemInstance.h>

Public Types

using ParticleDeathHandler = plEvent<const plStreamGroupElementRemovedEvent&>::Handler
 

Public Member Functions

void Construct (plUInt32 uiMaxParticles, plWorld *pWorld, plParticleEffectInstance *pOwnerEffect, float fSpawnCountMultiplier)
 
void Destruct ()
 
bool IsVisible () const
 
void SetEmitterEnabled (bool bEnable)
 
bool GetEmitterEnabled () const
 
bool HasActiveParticles () const
 
void ConfigureFromTemplate (const plParticleSystemDescriptor *pTemplate)
 
void Finalize ()
 
void ReinitializeStreamProcessors (const plParticleSystemDescriptor *pTemplate)
 
void CreateStreamProcessors (const plParticleSystemDescriptor *pTemplate)
 
void SetupOptionalStreams ()
 
void SetTransform (const plTransform &transform, const plVec3 &vParticleStartVelocity)
 
const plTransformGetTransform () const
 
const plVec3GetParticleStartVelocity () const
 
plParticleSystemState::Enum Update (const plTime &diff)
 
plWorldGetWorld () const
 
plUInt64 GetMaxParticles () const
 
plUInt64 GetNumActiveParticles () const
 
plProcessingStreamQueryStream (const char *szName, plProcessingStream::DataType type) const
 Returns the desired stream, if it already exists, nullptr otherwise.
 
void CreateStream (const char *szName, plProcessingStream::DataType type, plProcessingStream **pStream, plParticleStreamBinding &ref_binding, bool bExpectInitializedValue)
 Returns the desired stream, if it already exists, creates it otherwise.
 
void ProcessEventQueue (plParticleEventQueue queue)
 
plParticleEffectInstanceGetOwnerEffect () const
 
plParticleWorldModuleGetOwnerWorldModule () const
 
void ExtractSystemRenderData (plMsgExtractRenderData &ref_msg, const plTransform &instanceTransform) const
 
void AddParticleDeathEventHandler (ParticleDeathHandler handler)
 
void RemoveParticleDeathEventHandler (ParticleDeathHandler handler)
 
void SetBoundingVolume (const plBoundingBoxSphere &volume, float fMaxParticleSize)
 
const plBoundingBoxSphereGetBoundingVolume () 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: