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
7
8class PL_PARTICLEPLUGIN_DLL plParticleFinalizerFactory_Age final : public plParticleFinalizerFactory
9{
11
12public:
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
24class PL_PARTICLEPLUGIN_DLL plParticleFinalizer_Age final : public plParticleFinalizer
25{
26 PL_ADD_DYNAMIC_REFLECTION(plParticleFinalizer_Age, plParticleFinalizer);
27
28public:
31
32 virtual void CreateRequiredStreams() override;
33
34 plVarianceTypeTime m_LifeTime;
35 plTempHashedString m_sOnDeathEvent;
36 plTempHashedString m_sLifeScaleParameter;
37
38protected:
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};
Definition ParticleFinalizer_Age.h:25
Definition ParticleFinalizer_Age.h:9
Base class for all particle Finalizers.
Definition ParticleFinalizer.h:14
Definition ParticleFinalizer.h:25
Definition PhysicsWorldModule.h:109
A single stream in a stream group holding contiguous data of a given type.
Definition ProcessingStream.h:8
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
A class to use together with plHashedString for quick comparisons with temporary strings that need no...
Definition HashedString.h:151
Definition ProcessingStreamGroup.h:13
Definition VarianceTypes.h:49