Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleInitializer_SpherePosition.h
1#pragma once
2
3#include <Foundation/Types/VarianceTypes.h>
4#include <ParticlePlugin/Initializer/ParticleInitializer.h>
5
7{
9
10public:
12
13 virtual const plRTTI* GetInitializerType() const override;
14 virtual void CopyInitializerProperties(plParticleInitializer* pInitializer, bool bFirstTime) const override;
15 virtual float GetSpawnCountMultiplier(const plParticleEffectInstance* pEffect) const override;
16
17 virtual void Save(plStreamWriter& inout_stream) const override;
18 virtual void Load(plStreamReader& inout_stream) override;
19
20 virtual void QueryFinalizerDependencies(plSet<const plRTTI*>& inout_finalizerDeps) const override;
21
22public:
23 plVec3 m_vPositionOffset;
24 float m_fRadius;
25 bool m_bSpawnOnSurface;
26 bool m_bSetVelocity;
27 plVarianceTypeFloat m_Speed;
28 plString m_sScaleRadiusParameter;
29};
30
31
32class PL_PARTICLEPLUGIN_DLL plParticleInitializer_SpherePosition final : public plParticleInitializer
33{
35
36public:
37 plVec3 m_vPositionOffset;
38 float m_fRadius;
39 bool m_bSpawnOnSurface;
40 bool m_bSetVelocity;
41 plVarianceTypeFloat m_Speed;
42
43 virtual void CreateRequiredStreams() override;
44
45protected:
46 virtual void InitializeElements(plUInt64 uiStartIndex, plUInt64 uiNumElements) override;
47
48 plProcessingStream* m_pStreamPosition;
49 plProcessingStream* m_pStreamVelocity;
50};
Definition ParticleEffectInstance.h:25
Definition ParticleInitializer_SpherePosition.h:33
Definition ParticleInitializer_SpherePosition.h:7
Base class for all particle emitters.
Definition ParticleInitializer.h:16
Base class for stream spawners that are used by plParticleEmitter's.
Definition ParticleInitializer.h:34
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 VarianceTypes.h:31