3 #include <Engine/RaEngine.hpp>
36 virtual ~
System() =
default;
47 CORE_UNUSED( entity );
66 std::vector<Component*> getEntityComponents(
const Entity* entity );
74 registerComponent( entity, component );
84 virtual void registerComponent(
const Entity* entity,
Component* component );
92 virtual void unregisterComponent(
const Entity* entity,
Component* component );
99 virtual void unregisterAllComponents(
const Entity* entity );
A component is an element that can be updated by a system. It is also linked to some other components...
An entity is an scene element. It ties together components with a transform.
std::vector< std::pair< const Entity *, Component * > > m_components
List of active components.
virtual void handleAssetLoading(Entity *entity, const Core::Asset::FileData *data)
virtual void generateTasks(Core::TaskQueue *taskQueue, const Engine::FrameInfo &frameInfo)=0
Pure virtual method to be overridden by any system. Must register in taskQueue the operations that mu...
void addComponent(Entity *entity, Component *component)
Structure passed to each system before they fill the task queue.