summaryrefslogtreecommitdiffstats
path: root/include/godot_cpp
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2021-09-11 12:31:10 +1000
committerBastiaan Olij <mux213@gmail.com>2021-09-27 23:08:11 +1000
commit02802b1d0e2586dbf6dedd7e4de3589f7eb62680 (patch)
treeb54450e6213f9a2897726ebe083b64478017cd39 /include/godot_cpp
parentaef0f1e24828a94cc3e0c7e4b8ac6ffc6425b202 (diff)
downloadredot-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.hpp14
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;
};