1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

C#: make C# static methods accessible.

This commit is contained in:
Zae
2023-09-20 22:49:33 +08:00
parent 5f1e56ff26
commit 67e1373e5a
7 changed files with 104 additions and 4 deletions

View File

@@ -2348,6 +2348,8 @@ void CSharpScript::update_script_class_info(Ref<CSharpScript> p_script) {
mi.arguments.push_back(arg_info);
}
mi.flags = (uint32_t)method_info_dict["flags"];
p_script->methods.set(push_index++, CSharpMethodInfo{ name, mi });
}
@@ -2597,6 +2599,18 @@ MethodInfo CSharpScript::get_method_info(const StringName &p_method) const {
return MethodInfo();
}
Variant CSharpScript::callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
ERR_FAIL_COND_V(!valid, Variant());
Variant ret;
bool ok = GDMonoCache::managed_callbacks.ScriptManagerBridge_CallStatic(this, &p_method, p_args, p_argcount, &r_error, &ret);
if (ok) {
return ret;
}
return Script::callp(p_method, p_args, p_argcount, r_error);
}
Error CSharpScript::reload(bool p_keep_state) {
if (!reload_invalidated) {
return OK;