Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
ECS Namespace Reference

Namespaces

namespace  Event
 
namespace  Log
 
namespace  Memory
 
namespace  util
 

Classes

class  Component
 
class  ComponentManager
 
struct  ComponentMonitor
 
struct  CustomEvent
 
class  ECSEngine
 
class  Entity
 
class  EntityManager
 
class  IComponent
 
class  IEntity
 
class  ISystem
 
struct  ISystemSerializer
 
class  System
 
class  SystemManager
 
union  TimeStamp
 

Typedefs

using EntityHandleTable = util::HandleTable< IEntity, EntityId >
 
using ComponentId = ObjectID
 
using ComponentTypeId = TypeID
 
using EntityTypeId = TypeID
 
using EntityId = util::Handle64
 
using SystemTypeId = TypeID
 
using SystemPriority = u16
 
using i8 = int8_t
 
using i16 = int16_t
 
using i32 = int32_t
 
using i64 = int32_t
 
using u8 = uint8_t
 
using u16 = uint16_t
 
using u32 = uint32_t
 
using u64 = uint32_t
 
using f32 = float_t
 
using f64 = double_t
 
using iptr = intptr_t
 
using uptr = uintptr_t
 
using ObjectID = size_t
 
using TypeID = size_t
 
using SystemWorkStateMask = eastl::vector< bool >
 

Functions

template<class T >
T * GetComponent (ComponentManager *mgr, const EntityId id)
 
template<class T , class ... P>
T * AddComponent (ComponentManager *mgr, const EntityId id, P &&... param)
 
template<class T >
void RemoveComponent (ComponentManager *mgr, const EntityId id)
 
 DEFINE_STATIC_LOGGER (IEntity, "Entity")
 

Variables

static const ComponentId INVALID_COMPONENT_ID = INVALID_OBJECT_ID
 
static const EntityId INVALID_ENTITY_ID = util::Handle64::INVALID_HANDLE
 
static const SystemTypeId INVALID_SYSTEMID = INVALID_TYPE_ID
 
static const SystemPriority LOWEST_SYSTEM_PRIORITY = std::numeric_limits<SystemPriority>::min()
 
static const SystemPriority VERY_LOW_SYSTEM_PRIORITY = 99
 
static const SystemPriority LOW_SYSTEM_PRIORITY = 100
 
static const SystemPriority NORMAL_SYSTEM_PRIORITY = 200
 
static const SystemPriority MEDIUM_SYSTEM_PRIORITY = 300
 
static const SystemPriority HIGH_SYSTEM_PRIORITY = 400
 
static const SystemPriority VERY_HIGH_SYSTEM_PRIORITY = 401
 
static const SystemPriority HIGHEST_SYSTEM_PRIORITY = std::numeric_limits<SystemPriority>::max()
 
static const ObjectID INVALID_OBJECT_ID = std::numeric_limits<ObjectID>::max()
 
static const TypeID INVALID_TYPE_ID = std::numeric_limits<TypeID>::max()
 

Detailed Description


File: src\API.cpp.

Summary: Implements the API.


File: src\Engine.cpp.

Summary: Implements the engine class.


File: src\EntityManager.cpp.

Summary: Implements the entity manager class.


File: src\Event\IEvent.cpp.

Summary: Declares the IEvent interface.


File: src\Event\IEventListener.cpp.

Summary: Declares the IEventListener interface.


File: src\IComponent.cpp.

Summary: Declares the IComponent interface.


File: src\ISystem.cpp.

Summary: Declares the ISystem interface.


File: src\Log\LoggerManager.cpp.

Summary: Implements the logger manager class.


File: src\util\Timer.cpp.

Summary: Implements the timer class.

Typedef Documentation

◆ ComponentId

using ECS::ComponentId = typedef ObjectID

Definition at line 21 of file IComponent.h.

◆ ComponentTypeId

using ECS::ComponentTypeId = typedef TypeID

Definition at line 22 of file IComponent.h.

◆ EntityHandleTable

Definition at line 35 of file EntityManager.h.

◆ EntityId

using ECS::EntityId = typedef util::Handle64

Definition at line 17 of file IEntity.h.

◆ EntityTypeId

using ECS::EntityTypeId = typedef TypeID

Definition at line 15 of file IEntity.h.

◆ f32

using ECS::f32 = typedef float_t

Definition at line 59 of file Platform.h.

◆ f64

using ECS::f64 = typedef double_t

Definition at line 60 of file Platform.h.

◆ i16

using ECS::i16 = typedef int16_t

Definition at line 39 of file Platform.h.

◆ i32

using ECS::i32 = typedef int32_t

Definition at line 40 of file Platform.h.

◆ i64

using ECS::i64 = typedef int32_t

Definition at line 45 of file Platform.h.

◆ i8

using ECS::i8 = typedef int8_t

Definition at line 38 of file Platform.h.

◆ iptr

using ECS::iptr = typedef intptr_t

Definition at line 63 of file Platform.h.

◆ ObjectID

using ECS::ObjectID = typedef size_t

Definition at line 66 of file Platform.h.

◆ SystemPriority

using ECS::SystemPriority = typedef u16

Definition at line 24 of file ISystem.h.

◆ SystemTypeId

using ECS::SystemTypeId = typedef TypeID

Definition at line 22 of file ISystem.h.

◆ SystemWorkStateMask

using ECS::SystemWorkStateMask = typedef eastl::vector<bool>

Definition at line 27 of file SystemManager.h.

◆ TypeID

using ECS::TypeID = typedef size_t

Definition at line 67 of file Platform.h.

◆ u16

using ECS::u16 = typedef uint16_t

Definition at line 50 of file Platform.h.

◆ u32

using ECS::u32 = typedef uint32_t

Definition at line 51 of file Platform.h.

◆ u64

using ECS::u64 = typedef uint32_t

Definition at line 55 of file Platform.h.

◆ u8

using ECS::u8 = typedef uint8_t

Definition at line 49 of file Platform.h.

◆ uptr

using ECS::uptr = typedef uintptr_t

Definition at line 64 of file Platform.h.

Function Documentation

◆ AddComponent()

template<class T , class ... P>
T * ECS::AddComponent ( ComponentManager mgr,
const EntityId  id,
P &&...  param 
)

Definition at line 369 of file ComponentManager.h.

◆ DEFINE_STATIC_LOGGER()

ECS::DEFINE_STATIC_LOGGER ( IEntity  ,
"Entity"   
)

◆ GetComponent()

template<class T >
T * ECS::GetComponent ( ComponentManager mgr,
const EntityId  id 
)

Definition at line 364 of file ComponentManager.h.

◆ RemoveComponent()

template<class T >
void ECS::RemoveComponent ( ComponentManager mgr,
const EntityId  id 
)

Definition at line 374 of file ComponentManager.h.

Variable Documentation

◆ HIGH_SYSTEM_PRIORITY

const SystemPriority ECS::HIGH_SYSTEM_PRIORITY = 400
static

Definition at line 40 of file ISystem.h.

◆ HIGHEST_SYSTEM_PRIORITY

const SystemPriority ECS::HIGHEST_SYSTEM_PRIORITY = std::numeric_limits<SystemPriority>::max()
static

Definition at line 43 of file ISystem.h.

◆ INVALID_COMPONENT_ID

const ComponentId ECS::INVALID_COMPONENT_ID = INVALID_OBJECT_ID
static

Definition at line 24 of file IComponent.h.

◆ INVALID_ENTITY_ID

const EntityId ECS::INVALID_ENTITY_ID = util::Handle64::INVALID_HANDLE
static

Definition at line 19 of file IEntity.h.

◆ INVALID_OBJECT_ID

const ObjectID ECS::INVALID_OBJECT_ID = std::numeric_limits<ObjectID>::max()
static

Definition at line 69 of file Platform.h.

◆ INVALID_SYSTEMID

const SystemTypeId ECS::INVALID_SYSTEMID = INVALID_TYPE_ID
static

Definition at line 27 of file ISystem.h.

◆ INVALID_TYPE_ID

const TypeID ECS::INVALID_TYPE_ID = std::numeric_limits<TypeID>::max()
static

Definition at line 70 of file Platform.h.

◆ LOW_SYSTEM_PRIORITY

const SystemPriority ECS::LOW_SYSTEM_PRIORITY = 100
static

Definition at line 34 of file ISystem.h.

◆ LOWEST_SYSTEM_PRIORITY

const SystemPriority ECS::LOWEST_SYSTEM_PRIORITY = std::numeric_limits<SystemPriority>::min()
static

Definition at line 31 of file ISystem.h.

◆ MEDIUM_SYSTEM_PRIORITY

const SystemPriority ECS::MEDIUM_SYSTEM_PRIORITY = 300
static

Definition at line 38 of file ISystem.h.

◆ NORMAL_SYSTEM_PRIORITY

const SystemPriority ECS::NORMAL_SYSTEM_PRIORITY = 200
static

Definition at line 36 of file ISystem.h.

◆ VERY_HIGH_SYSTEM_PRIORITY

const SystemPriority ECS::VERY_HIGH_SYSTEM_PRIORITY = 401
static

Definition at line 41 of file ISystem.h.

◆ VERY_LOW_SYSTEM_PRIORITY

const SystemPriority ECS::VERY_LOW_SYSTEM_PRIORITY = 99
static

Definition at line 33 of file ISystem.h.