diff options
author | A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> | 2024-01-30 12:00:36 +0100 |
---|---|---|
committer | A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> | 2024-03-13 22:40:09 +0100 |
commit | 0c19d0f5a0b525c0056253e70d971eefda7a9d28 (patch) | |
tree | 8b829e4ce5c452ee696d1f6a16b9693a166d9704 /core/object/script_language_extension.h | |
parent | da945ce6266ce27ba63b6b08dc0eb2414594f7cb (diff) | |
download | redot-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.h | 9 |
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) { |