Plasma Engine  2.0
Loading...
Searching...
No Matches
ParticleInitializer_RandomRotationSpeed.h
1#pragma once
2
3#include <Core/ResourceManager/ResourceHandle.h>
4#include <Foundation/Types/VarianceTypes.h>
5#include <ParticlePlugin/Initializer/ParticleInitializer.h>
6
8
10{
12
13public:
14 virtual const plRTTI* GetInitializerType() const override;
15 virtual void CopyInitializerProperties(plParticleInitializer* pInitializer, bool bFirstTime) const override;
16
17 virtual void Save(plStreamWriter& inout_stream) const override;
18 virtual void Load(plStreamReader& inout_stream) override;
19
20 bool m_bRandomStartAngle = false;
21 plVarianceTypeAngle m_RotationSpeed;
22};
23
24
25class PL_PARTICLEPLUGIN_DLL plParticleInitializer_RandomRotationSpeed final : public plParticleInitializer
26{
28
29public:
30 bool m_bRandomStartAngle = false;
31 plVarianceTypeAngle m_RotationSpeed;
32
33 virtual void CreateRequiredStreams() override;
34
35protected:
36 virtual void InitializeElements(plUInt64 uiStartIndex, plUInt64 uiNumElements) override;
37
38 bool m_bPositiveSign = false;
39 plProcessingStream* m_pStreamRotationSpeed = nullptr;
40 plProcessingStream* m_pStreamRotationOffset = nullptr;
41};
Definition ParticleInitializer_RandomRotationSpeed.h:26
Definition ParticleInitializer_RandomRotationSpeed.h:10
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
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Definition VarianceTypes.h:67