summaryrefslogtreecommitdiffstats
path: root/core/object/script_language_extension.h
diff options
context:
space:
mode:
authorA Thousand Ships <96648715+AThousandShips@users.noreply.github.com>2024-01-30 12:00:36 +0100
committerA Thousand Ships <96648715+AThousandShips@users.noreply.github.com>2024-03-13 22:40:09 +0100
commit0c19d0f5a0b525c0056253e70d971eefda7a9d28 (patch)
tree8b829e4ce5c452ee696d1f6a16b9693a166d9704 /core/object/script_language_extension.h
parentda945ce6266ce27ba63b6b08dc0eb2414594f7cb (diff)
downloadredot-engine-0c19d0f5a0b525c0056253e70d971eefda7a9d28.tar.gz
Add extension support for argument count to `ScriptInstance`
Diffstat (limited to 'core/object/script_language_extension.h')
-rw-r--r--core/object/script_language_extension.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/object/script_language_extension.h b/core/object/script_language_extension.h
index efb317b839..1db322526d 100644
--- a/core/object/script_language_extension.h
+++ b/core/object/script_language_extension.h
@@ -821,6 +821,14 @@ public:
}
virtual int get_method_argument_count(const StringName &p_method, bool *r_is_valid = nullptr) const override {
+ if (native_info->get_method_argument_count_func) {
+ GDExtensionBool is_valid = 0;
+ GDExtensionInt ret = native_info->get_method_argument_count_func(instance, (GDExtensionStringNamePtr)&p_method, &is_valid);
+ if (r_is_valid) {
+ *r_is_valid = is_valid != 0;
+ }
+ return ret;
+ }
// Fallback to default.
return ScriptInstance::get_method_argument_count(p_method, r_is_valid);
}
@@ -912,7 +920,6 @@ public:
return reinterpret_cast<ScriptLanguage *>(lang);
}
return nullptr;
- ;
}
virtual ~ScriptInstanceExtension() {
if (native_info->free_func) {