Comment and add more ModuleRegistrationLevels.

This commit is contained in:
Relintai 2023-01-15 17:03:36 +01:00
parent 5972b6cc43
commit 50e98d6a10

View File

@ -30,14 +30,40 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
// Note: The engine will call register_module_types in this order,
// and in reverse order (except for start and finalize) when it goes through unregister_module_types.
enum ModuleRegistrationLevel {
MODULE_REGISTRATION_LEVEL_CORE = 0,
// Starting initialization, on uninitialization
MODULE_REGISTRATION_LEVEL_START = 0,
// Set up your singletons here.
MODULE_REGISTRATION_LEVEL_SINGLETON,
// Set up things like resource loaders here.
MODULE_REGISTRATION_LEVEL_CORE,
// Set up driver level things here.
MODULE_REGISTRATION_LEVEL_DRIVER,
// Set up platform level things here.
MODULE_REGISTRATION_LEVEL_PLATFORM,
// Set up servers here
MODULE_REGISTRATION_LEVEL_SERVER,
// Set up scene related things here. (Mostly normal class registrations.)
MODULE_REGISTRATION_LEVEL_SCENE,
// Set up scene related things here. (Mostly editor class registrations.)
MODULE_REGISTRATION_LEVEL_EDITOR,
// Set up testing related things here. Will only get called if necessary. (Mostly test registrations.)
MODULE_REGISTRATION_LEVEL_TEST,
// After everything have been set up, or uninitialized.
// Good place to change some settings, or maybe to do something like disabling an another modules's editor plugin when necessary.
MODULE_REGISTRATION_LEVEL_FINALIZE,
};
void register_module_types(ModuleRegistrationLevel p_level);