Plasma Engine
2.0
Loading...
Searching...
No Matches
ParticleFinalizer_Age.h
1
#pragma once
2
3
#include <Foundation/Types/VarianceTypes.h>
4
#include <ParticlePlugin/Finalizer/ParticleFinalizer.h>
5
6
class
plPhysicsWorldModuleInterface
;
7
8
class
PL_PARTICLEPLUGIN_DLL
plParticleFinalizerFactory_Age
final :
public
plParticleFinalizerFactory
9
{
10
PL_ADD_DYNAMIC_REFLECTION(
plParticleFinalizerFactory_Age
,
plParticleFinalizerFactory
);
11
12
public
:
13
plParticleFinalizerFactory_Age
();
14
15
virtual
const
plRTTI
* GetFinalizerType()
const override
;
16
virtual
void
CopyFinalizerProperties(
plParticleFinalizer
* pObject,
bool
bFirstTime)
const override
;
17
18
plVarianceTypeTime
m_LifeTime;
19
plString
m_sOnDeathEvent;
20
plString
m_sLifeScaleParameter;
21
};
22
23
24
class
PL_PARTICLEPLUGIN_DLL
plParticleFinalizer_Age
final :
public
plParticleFinalizer
25
{
26
PL_ADD_DYNAMIC_REFLECTION(
plParticleFinalizer_Age
,
plParticleFinalizer
);
27
28
public
:
29
plParticleFinalizer_Age
();
30
~plParticleFinalizer_Age
();
31
32
virtual
void
CreateRequiredStreams()
override
;
33
34
plVarianceTypeTime
m_LifeTime;
35
plTempHashedString
m_sOnDeathEvent;
36
plTempHashedString
m_sLifeScaleParameter;
37
38
protected
:
39
friend
class
plParticleFinalizerFactory_Age
;
40
41
virtual
void
InitializeElements(plUInt64 uiStartIndex, plUInt64 uiNumElements)
override
;
42
virtual
void
Process(plUInt64 uiNumElements)
override
;
43
void
OnParticleDeath(
const
plStreamGroupElementRemovedEvent
& e);
44
45
bool
m_bHasOnDeathEventHandler =
false
;
46
plProcessingStream
* m_pStreamLifeTime =
nullptr
;
47
plProcessingStream
* m_pStreamPosition =
nullptr
;
48
plProcessingStream
* m_pStreamVelocity =
nullptr
;
49
};
plParticleFinalizer_Age
Definition
ParticleFinalizer_Age.h:25
plParticleFinalizerFactory_Age
Definition
ParticleFinalizer_Age.h:9
plParticleFinalizerFactory
Base class for all particle Finalizers.
Definition
ParticleFinalizer.h:14
plParticleFinalizer
Definition
ParticleFinalizer.h:25
plPhysicsWorldModuleInterface
Definition
PhysicsWorldModule.h:109
plProcessingStream
A single stream in a stream group holding contiguous data of a given type.
Definition
ProcessingStream.h:8
plRTTI
This class holds information about reflected types. Each instance represents one type that is known t...
Definition
RTTI.h:30
plTempHashedString
A class to use together with plHashedString for quick comparisons with temporary strings that need no...
Definition
HashedString.h:151
plHybridString< 32, plDefaultAllocatorWrapper >
plStreamGroupElementRemovedEvent
Definition
ProcessingStreamGroup.h:13
plVarianceTypeTime
Definition
VarianceTypes.h:49
Code
EnginePlugins
ParticlePlugin
Finalizer
ParticleFinalizer_Age.h
Generated by
1.11.0