Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleBehavior_Gravity.h
1#pragma once
2
3#include <ParticlePlugin/Behavior/ParticleBehavior.h>
4
6
7class PL_PARTICLEPLUGIN_DLL plParticleBehaviorFactory_Gravity final : public plParticleBehaviorFactory
8{
10
11public:
13
14 virtual const plRTTI* GetBehaviorType() const override;
15 virtual void CopyBehaviorProperties(plParticleBehavior* pObject, bool bFirstTime) const override;
16
17 virtual void QueryFinalizerDependencies(plSet<const plRTTI*>& inout_finalizerDeps) const override;
18
19 virtual void Save(plStreamWriter& inout_stream) const override;
20 virtual void Load(plStreamReader& inout_stream) override;
21
22public:
23 float m_fGravityFactor;
24};
25
26
27class PL_PARTICLEPLUGIN_DLL plParticleBehavior_Gravity final : public plParticleBehavior
28{
29 PL_ADD_DYNAMIC_REFLECTION(plParticleBehavior_Gravity, plParticleBehavior);
30
31public:
32 float m_fGravityFactor;
33
34 virtual void CreateRequiredStreams() override;
35
36protected:
38
39 virtual void Process(plUInt64 uiNumElements) override;
40
41 void RequestRequiredWorldModulesForCache(plParticleWorldModule* pParticleModule) override;
42
43 plPhysicsWorldModuleInterface* m_pPhysicsModule;
44
45 plProcessingStream* m_pStreamVelocity;
46};
Definition ParticleBehavior_Gravity.h:28
Definition ParticleBehavior_Gravity.h:8
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