From 50e98d6a103c180050e24b55c55686caff19c706 Mon Sep 17 00:00:00 2001 From: Relintai Date: Sun, 15 Jan 2023 17:03:36 +0100 Subject: [PATCH] Comment and add more ModuleRegistrationLevels. --- modules/register_module_types.h | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/modules/register_module_types.h b/modules/register_module_types.h index 3cf01da62..199836aa5 100644 --- a/modules/register_module_types.h +++ b/modules/register_module_types.h @@ -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);