diff options
| author | Bastiaan Olij <mux213@gmail.com> | 2021-09-11 12:31:10 +1000 |
|---|---|---|
| committer | Bastiaan Olij <mux213@gmail.com> | 2021-09-27 23:08:11 +1000 |
| commit | 02802b1d0e2586dbf6dedd7e4de3589f7eb62680 (patch) | |
| tree | b54450e6213f9a2897726ebe083b64478017cd39 /include/godot_cpp | |
| parent | aef0f1e24828a94cc3e0c7e4b8ac6ffc6425b202 (diff) | |
| download | redot-cpp-02802b1d0e2586dbf6dedd7e4de3589f7eb62680.tar.gz | |
Add in driver types and rejig code to make it easier to extend
Diffstat (limited to 'include/godot_cpp')
| -rw-r--r-- | include/godot_cpp/godot.hpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/include/godot_cpp/godot.hpp b/include/godot_cpp/godot.hpp index eedc1c5..7cab430 100644 --- a/include/godot_cpp/godot.hpp +++ b/include/godot_cpp/godot.hpp @@ -47,14 +47,8 @@ class GDExtensionBinding { public: using Callback = void (*)(); - static Callback core_init; - static Callback server_init; - static Callback scene_init; - static Callback editor_init; - static Callback core_terminate; - static Callback server_terminate; - static Callback scene_terminate; - static Callback editor_terminate; + static Callback init_callbacks[GDNATIVE_MAX_INITIALIZATION_LEVEL]; + static Callback terminate_callbacks[GDNATIVE_MAX_INITIALIZATION_LEVEL]; static GDNativeBool init(const GDNativeInterface *p_interface, const GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization); public: @@ -73,16 +67,18 @@ public: InitObject(const GDNativeInterface *p_interface, const GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization) : interface(p_interface), library(p_library), - initialization(r_initialization) {} + initialization(r_initialization) {}; void register_core_initializer(Callback p_core_init) const; void register_server_initializer(Callback p_server_init) const; void register_scene_initializer(Callback p_scene_init) const; void register_editor_initializer(Callback p_editor_init) const; + void register_driver_initializer(Callback p_driver_init) const; void register_core_terminator(Callback p_core_terminate) const; void register_server_terminator(Callback p_server_terminate) const; void register_scene_terminator(Callback p_scene_terminate) const; void register_editor_terminator(Callback p_editor_terminate) const; + void register_driver_terminator(Callback p_driver_terminate) const; GDNativeBool init() const; }; |
