Before we get into modules, here is a great place to introduce you to the internal event system and event safety.
Event safety is documented both on the wiki and in code as comments. If you find a class or function missing such information, please make an issue or submit a pull request.
Internal Events
Currently, we have the following internal events:
- Startup - This is when the application first starts; the constructor of the Instance is called at this point
- Post-Startup - At any point after startup
- Begin - Window, renderer and modules are instantiated
- Post-begin - At any point after begin
- GUI - Before or during GUI layer initialisation (doesn’t mean it’s initialised, and any UI code will break here), i.e.
Instance::onEventConfigureStyle - All ready - After all initial setup is done; this includes tick events
- Pre-destruct - Before all systems are shut down
- Destruct - When the destructor of the Instance is called
Additionally, you may notice an event named Any time, which means that the given function can be called safely at
any point.