3#include <Foundation/Math/Color16f.h>
4#include <Foundation/Types/VarianceTypes.h>
5#include <RendererCore/Components/RenderComponent.h>
6#include <RendererCore/Declarations.h>
7#include <RendererCore/Pipeline/RenderData.h>
31 plUInt32 m_uiApplyOnlyToId;
33 plUInt32 m_uiAngleFadeParams;
38 plUInt32 m_uiBaseColorAtlasScale;
39 plUInt32 m_uiBaseColorAtlasOffset;
41 plUInt32 m_uiNormalAtlasScale;
42 plUInt32 m_uiNormalAtlasOffset;
44 plUInt32 m_uiORMAtlasScale;
45 plUInt32 m_uiORMAtlasOffset;
62 virtual void SerializeComponent(
plWorldWriter& inout_stream)
const override;
63 virtual void DeserializeComponent(
plWorldReader& inout_stream)
override;
67 virtual void OnActivated()
override;
85 void SetExtents(
const plVec3& value);
86 const plVec3& GetExtents()
const;
89 void SetSizeVariance(
float fVariance);
90 float GetSizeVariance()
const;
97 void SetEmissiveColor(
plColor color);
98 plColor GetEmissiveColor()
const;
101 void SetInnerFadeAngle(
plAngle fadeAngle);
102 plAngle GetInnerFadeAngle()
const;
105 void SetOuterFadeAngle(
plAngle fadeAngle);
106 plAngle GetOuterFadeAngle()
const;
109 void SetSortOrder(
float fOrder);
110 float GetSortOrder()
const;
113 void SetWrapAround(
bool bWrapAround);
114 bool GetWrapAround()
const;
116 void SetMapNormalToGeometry(
bool bMapNormal);
117 bool GetMapNormalToGeometry()
const;
145 plUInt32 DecalFile_GetCount()
const;
146 const char* DecalFile_Get(plUInt32 uiIndex)
const;
147 void DecalFile_Set(plUInt32 uiIndex,
const char* szFile);
148 void DecalFile_Insert(plUInt32 uiIndex,
const char* szFile);
149 void DecalFile_Remove(plUInt32 uiIndex);
153 void SetApplyToRef(
const char* szReference);
154 void UpdateApplyTo();
162 float m_fSizeVariance = 0;
167 float m_fSortOrder = 0;
168 bool m_bWrapAround =
false;
169 bool m_bMapNormalToGeometry =
false;
170 plUInt8 m_uiRandomDecalIdx = 0xFF;
175 plUInt32 m_uiApplyOnlyToId = 0;
177 plTime m_StartFadeOutTime;
178 plUInt32 m_uiInternalSortKey = 0;
181 const char* DummyGetter()
const {
return nullptr; }
Definition AbstractObjectGraph.h:17
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
static constexpr plAngle MakeFromDegree(float fDegree)
Creates an instance of plAngle that was initialized from degree. (Performs a conversion)
Definition Angle_inl.h:33
A 8bit per channel unsigned normalized (values interpreted as 0-1) color storage format that represen...
Definition Color8UNorm.h:99
plColor represents an RGBA color in linear color space. Values are stored as float,...
Definition Color.h:44
static const plColor White
#FFFFFF
Definition Color.h:194
static const plColor Black
#000000
Definition Color.h:57
A 16bit per channel float color storage format.
Definition Color16f.h:11
A 8bit per channel unsigned normalized (values interpreted as 0-1) color storage format that represen...
Definition Color8UNorm.h:61
Definition ComponentManager.h:88
Projects a decal texture onto geometry within a box volume.
Definition DecalComponent.h:55
plTime m_FadeOutDuration
How much time the fade out takes.
Definition DecalComponent.h:129
plEnum< plOnComponentFinishedAction > m_OnFinishedAction
If fade-out is used, the decal may delete itself afterwards.
Definition DecalComponent.h:132
plVarianceTypeTime m_FadeOutDelay
If non-zero, the decal fades out after this time and then vanishes.
Definition DecalComponent.h:126
Definition DecalComponent.h:15
Definition DecalComponent.h:27
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Base class for objects that should be rendered.
Definition RenderComponent.h:9
Base class for all render data. Render data must contain all information that is needed to render the...
Definition RenderData.h:14
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
virtual void OnSimulationStarted()
This method is called at the start of the next world update when the world is simulated....
Definition WorldModule.h:105
virtual void Initialize()
This method is called after the constructor. A derived type can override this method to do initializa...
Definition WorldModule.h:98
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
A handle to a game object.
Definition Declarations.h:76
For internal use by components to trigger some known behavior. Usually components will post this mess...
Definition TriggerMessage.h:26
Definition DeleteObjectMessage.h:7
Definition ApplyOnlyToMessage.h:7
A message to modify the main color of some thing.
Definition SetColorMessage.h:32
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 VarianceTypes.h:49