The application manager

All work in the framework is managed with tasks and systems.
In order to start doing we need to use the application manager. This class manages all systems and tasks which are going to be used by the application.


System are classes which can be instantiated multiple times and can create tasks and entities.
Tasks can run custom logic such as updating an entities color every frame, polling a server every couple seconds, responding to input or anything else you can think of.


Components are an abstract object defined by a system which can contain any data and in any layout you desire, all component are referred to by a handle and their lifetime is automatically managed by the application manager.


Task are functions which belong to systems and can perform any desired functionality, tasks are enabled thrugh the application manager and can be run at specific moments.
For a more detailed and technical explanantion go to:

Our system

To create a system first define a class like MySystem and make it inherit from BE::System
Declare a constructor like this:
class MySystem : public BE::System {
MySystem(const InitiliazeInfo& init_info) : System(init_info) {}