System contain data required to proper glue EntityManager with Systems.
System callbacks:
- void onUpdate(EntitesData);
- void onEnable() - called inside system.enable() function
- void onDisable() - called inside system.disable() function
- bool onBegin() - called inside manager.begin()
- void onEnd() - called inside manager.end()
- void onCreate() - called after registration inside registerSystem function
- void onDestroy() - called during re-registration and inside manager destructor
- void onAddEntity(EntitesData) - called for every entity which are assigned to system (by adding new entity or changing its components)
- void onRemoveEntity(EntitiesData) - called for every entity removed from system update process
- void onChangeEntity(EntitiesData) - called for every entity which components are changed but it was previously assigned to system
- void handleEvent(Entity*, Event) - called for every event supported by system
System module.