21 #ifndef HX3D_ECS_SYSTEM 22 #define HX3D_ECS_SYSTEM 24 #include "hx3d/ecs/component.hpp" 25 #include "hx3d/ecs/entity.hpp" 27 #include "hx3d/utils/ptr.hpp" 46 template <
class... Types>
82 unsigned int _requiredFamily;
88 #include "hx3d/ecs/_inline/system.inl.hpp" Manages entity in a world.
Engine * getEngine()
Get the engine instance.
Entity processing systems.
void setRequiredFamily()
Set the required component types for the system.
virtual void process(const Ptr< Entity > &entity, const float delta)=0
Process an entity. Does not check if the entity can be processed.
std::shared_ptr< T > Ptr
Quick-typing shared ptr.
bool canProcess(const unsigned int bits)
Check if an entity can be processed (using the required family).