Add methods to get argument count of methods

Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
This commit is contained in:
A Thousand Ships 2024-01-28 15:16:09 +01:00
parent 0ace0a1292
commit 59bcc2888c
No known key found for this signature in database
GPG key ID: 2033189A662F8BD7
50 changed files with 821 additions and 3 deletions

View file

@ -80,6 +80,21 @@ ObjectID GDScriptUtilityCallable::get_object() const {
return ObjectID();
}
int GDScriptUtilityCallable::get_argument_count(bool &r_is_valid) const {
switch (type) {
case TYPE_INVALID:
r_is_valid = false;
return 0;
case TYPE_GLOBAL:
r_is_valid = true;
return Variant::get_utility_function_argument_count(function_name);
case TYPE_GDSCRIPT:
r_is_valid = true;
return GDScriptUtilityFunctions::get_function_argument_count(function_name);
}
ERR_FAIL_V_MSG(0, "Invalid type.");
}
void GDScriptUtilityCallable::call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const {
switch (type) {
case TYPE_INVALID: