Merge pull request #774 from Naryosha/patch-1

pull/788/head
Rémi Verschelde 2022-07-14 23:59:53 +02:00 committed by GitHub
commit c0fead40e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 4 deletions

View File

@ -79,19 +79,23 @@ extern "C" {
GDNativeBool GDN_EXPORT example_library_init(const GDNativeInterface *p_interface, const GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization) {
godot::GDExtensionBinding::InitObject init_obj(p_interface, p_library, r_initialization);
init_obj.register_scene_initializer(register_example_types);
init_obj.register_scene_terminator(unregister_example_types);
init_obj.register_initializer(initialize_example_module);
init_obj.register_terminator(uninitialize_example_module);
init_obj.set_minimum_library_initialization_level(MODULE_INITIALIZATION_LEVEL_SCENE);
return init_obj.init();
}
}
```
The `register_example_types()` should register the classes in ClassDB, very like a Godot module would do.
The `initialize_example_module()` should register the classes in ClassDB, very like a Godot module would do.
```cpp
using namespace godot;
void register_example_types() {
void initialize_example_module(ModuleInitializationLevel p_level) {
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
return;
}
ClassDB::register_class<Example>();
}
```