3#include <Core/ResourceManager/ResourceHandle.h>
4#include <Core/World/Component.h>
5#include <Core/World/World.h>
6#include <GameEngine/GameEngineDLL.h>
7#include <RendererCore/Components/RenderComponent.h>
8#include <RendererCore/Pipeline/RenderData.h>
9#include <RendererCore/Rasterizer/RasterizerObject.h>
28 using StorageType = plUInt8;
59 virtual void SerializeComponent(
plWorldWriter& inout_stream)
const override;
60 virtual void DeserializeComponent(
plWorldReader& inout_stream)
override;
63 virtual void OnActivated()
override;
83 void SetMaterialFile(
const char* szFile);
84 const char* GetMaterialFile()
const;
87 void SetSizeNegX(
float f);
88 float GetSizeNegX()
const {
return m_fSizeNegX; }
91 void SetSizePosX(
float f);
92 float GetSizePosX()
const {
return m_fSizePosX; }
95 void SetSizeNegY(
float f);
96 float GetSizeNegY()
const {
return m_fSizeNegY; }
99 void SetSizePosY(
float f);
100 float GetSizePosY()
const {
return m_fSizePosY; }
103 void SetSizeNegZ(
float f);
104 float GetSizeNegZ()
const {
return m_fSizeNegZ; }
107 void SetSizePosZ(
float f);
108 float GetSizePosZ()
const {
return m_fSizePosZ; }
111 void SetDetail(plUInt32 uiDetail);
112 plUInt32 GetDetail()
const {
return m_uiDetail; }
115 void SetCurvature(
plAngle curvature);
116 plAngle GetCurvature()
const {
return m_Curvature; }
119 void SetSlopedTop(
bool b);
120 bool GetSlopedTop()
const {
return m_bSlopedTop; }
123 void SetSlopedBottom(
bool b);
124 bool GetSlopedBottom()
const {
return m_bSlopedBottom; }
127 void SetThickness(
float f);
128 float GetThickness()
const {
return m_fThickness; }
131 void SetGenerateCollision(
bool b);
132 bool GetGenerateCollision()
const {
return m_bGenerateCollision; }
137 void SetIncludeInNavmesh(
bool b);
138 bool GetIncludeInNavmesh()
const {
return m_bIncludeInNavmesh; }
154 float m_fSizeNegX = 0;
155 float m_fSizePosX = 0;
156 float m_fSizeNegY = 0;
157 float m_fSizePosY = 0;
158 float m_fSizeNegZ = 0;
159 float m_fSizePosZ = 0;
160 plUInt32 m_uiDetail = 16;
162 float m_fThickness = 0.5f;
163 bool m_bSlopedTop =
false;
164 bool m_bSlopedBottom =
false;
165 bool m_bGenerateCollision =
true;
166 bool m_bIncludeInNavmesh =
true;
167 bool m_bUseAsOccluder =
true;
169 void InvalidateMesh();
172 template <
typename ResourceType>
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
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
Definition ComponentManager.h:88
Provides functions to generate standard geometric shapes, such as boxes, spheres, cylinders,...
Definition Geometry.h:17
Creates basic geometry for prototyping levels.
Definition GreyBoxComponent.h:52
void SetMaterial(const plMaterialResourceHandle &hMaterial)
Sets the plMaterialResource to use for rendering.
Definition GreyBoxComponent.h:141
Definition MeshComponentBase.h:13
Definition MeshResourceDescriptor.h:9
Base class for objects that should be rendered.
Definition RenderComponent.h:9
A Shared ptr manages a shared object and destroys that object when no one references it anymore....
Definition SharedPtr.h:10
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
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 GreyBoxComponent.h:27
Definition PhysicsWorldModule.h:263
A message to modify the main color of some thing.
Definition SetColorMessage.h:32
This message is used to replace the material on a mesh.
Definition MeshComponentBase.h:49
Definition UpdateLocalBoundsMessage.h:9
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54