-
Notifications
You must be signed in to change notification settings - Fork 12
Project Structure
The entire engine is composed of modules that interact with each other through the runtime.
Modules inherit from the module class, which provides a few virtual functions such as start and stop. These functions should be used instead of constructors/destructors whenever the operations inside them rely on other modules.
All libraries go in the libraries folder, organized based on what type of library they are. External repositories are included here as well through git submodules, when possible external libraries should be included this way.
Modules are organized based on what build targets are dependent on them. If a module is used by more than one build target, for instance, the EntityManager module, they go in the src/common folder. Otherwise, they go into the folder dedicated to the build target that they are exclusive to.