26 [[nodiscard]]
const std::string&
id()
const {
return _id; }
38 template <
class ComponentType,
class DataType>
47 const std::type_info&
componentType()
const override {
return typeid(ComponentType); }
51#include "componentSystem.inl"
ComponentSystem(Engine *engine, const std::string &id)
const std::type_info & componentType() const override
std::unique_ptr< Component > addComponent(Entity *entity) override
Central application orchestrator managing scenes, rendering, input, and resource loading.
ECS entity — a GraphNode that hosts components defining its behavior.
IComponentSystem(Engine *engine, const std::string &id)
virtual ~IComponentSystem()=default
virtual std::unique_ptr< Component > addComponent(Entity *entity)=0
virtual const std::type_info & componentType() const =0
const std::string & id() const