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

Public Types

using ComponentMap = std::unordered_map<Grindstone::HashedString, ComponentFunctions>

Public Member Functions

template<typename ComponentType>
void RegisterComponent (SetupComponentFn setupComponentFn=nullptr, DestroyComponentFn destroyComponentFn=nullptr)
template<typename ComponentType>
void UnregisterComponent ()
virtual void CopyRegistry (WorldContextSet &to, WorldContextSet &from)
virtual void CallCreateOnRegistry (WorldContextSet &worldContextSet)
virtual void CallDestroyOnRegistry (WorldContextSet &worldContextSet)
virtual void DestroyEntity (ECS::Entity entity)
virtual void RegisterComponent (Grindstone::HashedString name, ComponentFunctions componentFunctions)
virtual void UnregisterComponent (Grindstone::HashedString name)
virtual void * CreateComponentWithSetup (Grindstone::HashedString name, ECS::Entity entity)
virtual void * CreateComponentWithSetup (WorldContextSet &worldContextSet, Grindstone::HashedString name, ECS::Entity entity)
virtual void * CreateComponent (Grindstone::HashedString name, ECS::Entity entity)
virtual void RemoveComponent (Grindstone::HashedString name, ECS::Entity entity)
virtual bool HasComponent (Grindstone::HashedString name, ECS::Entity entity)
virtual bool TryGetComponent (Grindstone::HashedString name, ECS::Entity entity, void *&outComponent)
virtual bool TryGetComponentReflectionData (Grindstone::HashedString name, Grindstone::Reflection::TypeDescriptor_Struct &outReflectionData)
virtual void SetupComponent (Grindstone::HashedString componentType, ECS::Entity entity, void *componentPtr)
virtual void SetupComponent (WorldContextSet &worldContextSet, Grindstone::HashedString componentType, ECS::Entity entity, void *componentPtr)
virtual ComponentMap::iterator begin ()
virtual ComponentMap::const_iterator begin () const
virtual ComponentMap::iterator end ()
virtual ComponentMap::const_iterator end () const

The documentation for this class was generated from the following files:
  • /github/workspace/sources/code/EngineCore/ECS/ComponentRegistrar.hpp
  • /github/workspace/sources/code/EngineCore/ECS/ComponentRegistrar.cpp