diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-07-09 23:25:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-09 23:25:33 +0200 |
commit | ca2fda629fcb1a0c7aa9945a2dd80bde993d0ac2 (patch) | |
tree | 4574d5d9de3fdb35c3d61a15fded5671dd44de92 /core/extension/gdnative_interface.cpp | |
parent | 96e17e4ea1e6b2c8c9af28043c580fd81a7d50e5 (diff) | |
parent | 44691448911f1d29d4d79dbdd5553734761e57c4 (diff) |
Merge pull request #50290 from reduz/redo-instance-bindings
Redo how instance bindings work
Diffstat (limited to 'core/extension/gdnative_interface.cpp')
-rw-r--r-- | core/extension/gdnative_interface.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/extension/gdnative_interface.cpp b/core/extension/gdnative_interface.cpp index 324933d7b7..8f68b8d848 100644 --- a/core/extension/gdnative_interface.cpp +++ b/core/extension/gdnative_interface.cpp @@ -520,6 +520,11 @@ static GDNativeObjectPtr gdnative_global_get_singleton(const char *p_name) { return (GDNativeObjectPtr)Engine::get_singleton()->get_singleton_object(String(p_name)); } +static void *gdnative_object_get_instance_binding(GDNativeObjectPtr p_instance, void *p_token, GDNativeInstanceBindingCallbacks *p_callbacks) { + Object *o = (Object *)p_instance; + return o->get_instance_binding(p_token, p_callbacks); +} + static GDNativeObjectPtr gdnative_object_get_instance_from_id(GDObjectInstanceID p_instance_id) { return (GDNativeObjectPtr)ObjectDB::get_instance(ObjectID(p_instance_id)); } @@ -665,6 +670,7 @@ void gdnative_setup_interface(GDNativeInterface *p_interface) { gdni.object_method_bind_ptrcall = gdnative_object_method_bind_ptrcall; gdni.object_destroy = gdnative_object_destroy; gdni.global_get_singleton = gdnative_global_get_singleton; + gdni.object_get_instance_binding = gdnative_object_get_instance_binding; gdni.object_cast_to = gdnative_object_cast_to; gdni.object_get_instance_from_id = gdnative_object_get_instance_from_id; |