Plasma Engine  2.0
Loading...
Searching...
No Matches
GameObjectDesc.h
1#pragma once
2
3#include <Core/World/Declarations.h>
4#include <Foundation/Math/Quat.h>
5#include <Foundation/Strings/HashedString.h>
6#include <Foundation/Types/TagSet.h>
7#include <Foundation/Types/Uuid.h>
8
10struct PL_CORE_DLL plGameObjectDesc
11{
12 PL_DECLARE_POD_TYPE();
13
14 bool m_bActiveFlag = true;
15 bool m_bDynamic = false;
16 plUInt16 m_uiTeamID = 0;
17
20
21 plVec3 m_LocalPosition = plVec3::MakeZero();
22 plQuat m_LocalRotation = plQuat::MakeIdentity();
23 plVec3 m_LocalScaling = plVec3(1);
24 float m_LocalUniformScaling = 1.0f;
26 plUInt32 m_uiStableRandomSeed = 0xFFFFFFFF;
27};
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
static const plQuatTemplate< float > MakeIdentity()
Definition Quat_inl.h:29
A dynamic collection of tags featuring fast lookups.
Definition TagSet.h:23
static plVec3Template< float > MakeZero()
Definition Vec3.h:38
Describes the initial state of a game object.
Definition GameObjectDesc.h:11
plGameObjectHandle m_hParent
An optional parent object to attach this object to as a child.
Definition GameObjectDesc.h:19
plTagSet m_Tags
See plGameObject::GetTags()
Definition GameObjectDesc.h:25
plHashedString m_sName
See plGameObject::SetName().
Definition GameObjectDesc.h:18
A handle to a game object.
Definition Declarations.h:76