Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleBehavior_Velocity.h
1#pragma once
2
3#include <ParticlePlugin/Behavior/ParticleBehavior.h>
4
7
8class PL_PARTICLEPLUGIN_DLL plParticleBehaviorFactory_Velocity final : public plParticleBehaviorFactory
9{
11
12public:
15
16 virtual const plRTTI* GetBehaviorType() const override;
17 virtual void CopyBehaviorProperties(plParticleBehavior* pObject, bool bFirstTime) const override;
18
19 virtual void Save(plStreamWriter& inout_stream) const override;
20 virtual void Load(plStreamReader& inout_stream) override;
21
22 virtual void QueryFinalizerDependencies(plSet<const plRTTI*>& inout_finalizerDeps) const override;
23
24 float m_fRiseSpeed = 0;
25 float m_fFriction = 0;
26 float m_fWindInfluence = 0;
27};
28
29
30class PL_PARTICLEPLUGIN_DLL plParticleBehavior_Velocity final : public plParticleBehavior
31{
32 PL_ADD_DYNAMIC_REFLECTION(plParticleBehavior_Velocity, plParticleBehavior);
33
34public:
35 virtual void CreateRequiredStreams() override;
36
37 float m_fRiseSpeed = 0;
38 float m_fFriction = 0;
39 float m_fWindInfluence = 0;
40
41protected:
43
44 virtual void Process(plUInt64 uiNumElements) override;
45
46 void RequestRequiredWorldModulesForCache(plParticleWorldModule* pParticleModule) override;
47
48 // used to rise/fall along the gravity vector
49 plPhysicsWorldModuleInterface* m_pPhysicsModule = nullptr;
50
51 plProcessingStream* m_pStreamPosition;
52 plProcessingStream* m_pStreamVelocity;
53};
Definition ParticleBehavior_Velocity.h:31
Definition ParticleBehavior_Velocity.h:9
Base class for all particle behaviors.
Definition ParticleBehavior.h:14
Definition ParticleBehavior.h:30
This world module stores all particle effect data that is active in a given plWorld instance.
Definition ParticleWorldModule.h:24
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
Definition Set.h:238
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Definition WindWorldModule.h:39