Systems
Systems are the description of how the game should be updated.
How to use systems:
Registering a system:
You must register your system with your component dependencies.
auto engine = rs::Engine(1000, 1000, "R-Type");
engine.RegisterComponent<Position>();
engine.RegisterComponent<Velocity>();
engine.RegisterSystem<VelocityMovement, Position, Velocity>();
Warning: All the components that a system will use must be registered beforehand.
Updating a system:
All entities matching the system signature will be updated.
engine.UpdateSystem<VelocityMovement, Position, Velocity>();
Info: All entities matching the system signature will be updated.