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.