3#include <Core/ResourceManager/Resource.h>
4#include <Core/ResourceManager/ResourceHandle.h>
5#include <Core/World/World.h>
6#include <Foundation/Types/RangeView.h>
7#include <ParticlePlugin/Effect/ParticleEffectController.h>
8#include <ParticlePlugin/Effect/ParticleEffectInstance.h>
9#include <ParticlePlugin/ParticlePluginDLL.h>
10#include <RendererCore/Components/RenderComponent.h>
12class plParticleRenderData;
28 virtual void Initialize()
override;
32 void UpdatePfxTransformsAndBounds();
44 virtual void SerializeComponent(
plWorldWriter& inout_stream)
const override;
45 virtual void DeserializeComponent(
plWorldReader& inout_stream)
override;
48 virtual void OnDeactivated()
override;
73 void InterruptEffect();
76 bool IsEffectActive()
const;
85 void SetParticleEffectFile(
const char* szFile);
86 const char* GetParticleEffectFile()
const;
90 void SetParameter(
const char* szKey,
const plVariant& value);
91 void RemoveParameter(
const char* szKey);
92 bool GetParameter(
const char* szKey,
plVariant& out_value)
const;
95 plUInt64 m_uiRandomSeed = 0;
105 bool m_bSpawnAtStart =
true;
108 bool m_bIgnoreOwnerRotation =
false;
128 void UpdatePfxTransformAndBounds();
139 bool m_bIfContinuousStopRightAway =
false;
140 bool m_bFloatParamsChanged =
false;
141 bool m_bColorParamsChanged =
false;
Definition ComponentManager.h:88
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Plays a particle effect at the location of the game object.
Definition ParticleComponent.h:37
plParticleEffectController m_EffectController
Allows more fine grain control over the effect execution.
Definition ParticleComponent.h:123
plTime m_MinRestartDelay
Minimum delay between finishing and restarting.
Definition ParticleComponent.h:114
plTime m_RestartDelayRange
Random additional delay between finishing and restarting.
Definition ParticleComponent.h:117
plEnum< plOnComponentFinishedAction2 > m_OnFinishedAction
What to do when the effect is finished playing.
Definition ParticleComponent.h:111
plString m_sSharedInstanceName
If set, the component reuses the simulation state of another particle component with the same name.
Definition ParticleComponent.h:102
Definition ParticleComponent.h:22
Definition ParticleEffectController.h:7
Definition ParticleEventReaction_Effect.h:37
A particle system stores all data for one 'layer' of a running particle effect.
Definition ParticleSystemInstance.h:15
This class uses delegates to define a range of values that can be enumerated using a forward iterator...
Definition RangeView.h:24
Base class for objects that should be rendered.
Definition RenderComponent.h:9
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
Reads a world description from a stream. Allows to instantiate that world multiple times in different...
Definition WorldReader.h:47
Stores an entire plWorld in a stream.
Definition WorldWriter.h:13
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition DeleteObjectMessage.h:7
Common message for components that can be toggled between playing and paused states.
Definition CommonMessages.h:9
Definition UpdateLocalBoundsMessage.h:9
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12
Definition WorldModule.h:33