3#include <Core/World/World.h>
4#include <Foundation/Types/SharedPtr.h>
5#include <Foundation/Types/UniquePtr.h>
6#include <ProcGenPlugin/Resources/ProcGenGraphResource.h>
36 void DeallocateTile(plUInt32 uiTileIndex);
38 plUInt32 AllocateProcessingTask(plUInt32 uiTileIndex);
39 void DeallocateProcessingTask(plUInt32 uiTaskIndex);
40 plUInt32 GetNumAllocatedProcessingTasks()
const;
46 void ClearVisibleComponents();
48 struct VisibleComponent
55 mutable plMutex m_VisibleComponentsMutex;
65 PL_ALWAYS_INLINE
bool IsValid()
const {
return m_uiTileIndex != plInvalidIndex; }
66 PL_ALWAYS_INLINE
bool IsScheduled()
const {
return m_PlacementTaskGroupID.IsValid(); }
67 PL_ALWAYS_INLINE
void Invalidate()
69 m_uiScheduledFrame = -1;
70 m_PlacementTaskGroupID.Invalidate();
71 m_uiTileIndex = plInvalidIndex;
74 plUInt64 m_uiScheduledFrame;
79 plUInt32 m_uiTileIndex;
85 struct SortedProcessingTask
87 plUInt64 m_uiScheduledFrame = 0;
88 plUInt32 m_uiTaskIndex = 0;
121 virtual void OnActivated()
override;
122 virtual void OnDeactivated()
override;
124 void SetResourceFile(
const char* szFile);
125 const char* GetResourceFile()
const;
133 virtual void SerializeComponent(
plWorldWriter& inout_stream)
const override;
134 virtual void DeserializeComponent(
plWorldReader& inout_stream)
override;
137 plUInt32 BoxExtents_GetCount()
const;
141 void BoxExtents_Remove(plUInt32 uiIndex);
143 void UpdateBoundsAndTiles();
154 PL_DECLARE_POD_TYPE();
168 PL_DECLARE_POD_TYPE();
171 plUInt64 m_uiLastSeenFrame;
plColor represents an RGBA color in linear color space. Values are stored as float,...
Definition Color.h:44
Base class of all component types.
Definition Component.h:25
Definition ComponentManager.h:88
Definition DynamicArray.h:81
Definition HashTable.h:333
Provides a simple mechanism for mutual exclusion to prevent multiple threads from accessing a shared ...
Definition Mutex.h:13
Definition FindPlacementTilesTask.h:17
Definition ProcPlacementComponent.h:112
Definition ProcPlacementComponent.h:15
static const plQuatTemplate< float > MakeIdentity()
Definition Quat_inl.h:29
A Shared ptr manages a shared object and destroys that object when no one references it anymore....
Definition SharedPtr.h:10
A 4x4 matrix class.
Definition SimdMat4f.h:7
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Given out by plTaskSystem::CreateTaskGroup to identify a task group.
Definition TaskSystemDeclarations.h:103
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
static plVec3Template< float > MakeZero()
Definition Vec3.h:38
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
virtual void Initialize()
This method is called after the constructor. A derived type can override this method to do initializa...
Definition WorldModule.h:98
virtual void Deinitialize()
This method is called before the destructor. A derived type can override this method to do deinitiali...
Definition WorldModule.h:101
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 handle to a component.
Definition Declarations.h:138
Definition UpdateLocalBoundsMessage.h:9
Definition ProcPlacementComponent.h:100
Definition Declarations.h:280
Definition ProcPlacementComponent.h:167
These events may be sent by a specific plResource or by the plResourceManager.
Definition Declarations.h:22
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
Definition WorldModule.h:33