Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::ECS Namespace Reference

Classes

class  ComponentFunctions
class  ComponentRegistrar
class  Entity
struct  has_clone
struct  has_clone< T, std::void_t< decltype(std::declval< const T & >().Clone(std::declval< Grindstone::WorldContextSet & >(), std::declval< entt::entity >()))> >
class  ISystem
class  SystemRegistrar

Concepts

concept  HasConstruct
concept  HasDestroy

Typedefs

using ComponentType = std::uint8_t
using SetupComponentFn = void(*)(Grindstone::WorldContextSet&, entt::entity)
using DestroyComponentFn = void(*)(Grindstone::WorldContextSet&, entt::entity)
using ClearComponentsFn = void(*)(Grindstone::WorldContextSet&)
using GetComponentReflectionDataFn = Grindstone::Reflection::TypeDescriptor_Struct(*)()
using TryGetComponentFn = bool(*)(entt::registry&, entt::entity, void*& outEntity)
using HasComponentFn = bool(*)(entt::registry&, entt::entity)
using CreateComponentFn = void*(*)(entt::registry&, entt::entity)
using RemoveComponentFn = void(*)(entt::registry&, entt::entity)
using CopyRegistryComponentsFn = void(*)(WorldContextSet& dst, WorldContextSet& src)
using EntityHandle = entt::entity
using SystemType = std::uint8_t
using SystemFactory = void(*)(Grindstone::WorldContextSet&)

Functions

template<typename ComponentType>
void * CreateComponent (entt::registry &registry, entt::entity entity)
template<typename ComponentType>
void RemoveComponent (entt::registry &registry, entt::entity entity)
template<typename ComponentType>
void ClearComponents (WorldContextSet &cxtSet)
template<typename ComponentType>
Grindstone::Reflection::TypeDescriptor_Struct GetComponentReflectionData ()
template<typename ComponentType>
bool TryGetComponent (entt::registry &registry, entt::entity entity, void *&outComponent)
template<typename ComponentType>
bool HasComponent (entt::registry &registry, entt::entity entity)
template<typename ComponentType>
void CopyRegistryComponents (WorldContextSet &dst, WorldContextSet &src)
bool operator< (const ECS::Entity &lhs, const ECS::Entity &rhs)

Variables

const ComponentType MAX_COMPONENTS = UINT8_MAX
template<typename T>
constexpr bool has_clone_v = has_clone<T>::value
const auto EmptyEntityHandle = entt::null
const SystemType MAX_SYSTEMS = UINT8_MAX
const SystemType INVALID_SYSTEM = UINT8_MAX