Refactor module initialization
* Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
This commit is contained in:
@ -34,14 +34,22 @@
|
||||
|
||||
static Ref<ResourceFormatLoaderTheora> resource_loader_theora;
|
||||
|
||||
void register_theora_types() {
|
||||
void initialize_theora_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
|
||||
resource_loader_theora.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_theora, true);
|
||||
|
||||
GDREGISTER_CLASS(VideoStreamTheora);
|
||||
}
|
||||
|
||||
void unregister_theora_types() {
|
||||
void uninitialize_theora_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_theora);
|
||||
resource_loader_theora.unref();
|
||||
}
|
||||
|
||||
@ -31,7 +31,9 @@
|
||||
#ifndef THEORA_REGISTER_TYPES_H
|
||||
#define THEORA_REGISTER_TYPES_H
|
||||
|
||||
void register_theora_types();
|
||||
void unregister_theora_types();
|
||||
#include "modules/register_module_types.h"
|
||||
|
||||
void initialize_theora_module(ModuleInitializationLevel p_level);
|
||||
void uninitialize_theora_module(ModuleInitializationLevel p_level);
|
||||
|
||||
#endif // THEORA_REGISTER_TYPES_H
|
||||
|
||||
Reference in New Issue
Block a user