diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-09-20 18:55:10 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-09-20 18:55:10 +0200 |
commit | ce0fa4c691638949387d25fc19fcfe10898d218c (patch) | |
tree | 0325754b4fee9d3debaedf3a5f52cde843d5411d /modules/mono/csharp_script.cpp | |
parent | 6df12fe1873c7c477454bc87effe1c87a9735ddd (diff) | |
parent | 67e1373e5a6ccaff75ea274ed31bd27c57e9cada (diff) | |
download | redot-engine-ce0fa4c691638949387d25fc19fcfe10898d218c.tar.gz |
Merge pull request #81783 from zaevi/fix-csharp-static-method
C#: make C# static methods accessible.
Diffstat (limited to 'modules/mono/csharp_script.cpp')
-rw-r--r-- | modules/mono/csharp_script.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp index b41f2155f8..26c684f769 100644 --- a/modules/mono/csharp_script.cpp +++ b/modules/mono/csharp_script.cpp @@ -2353,6 +2353,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 }); } @@ -2602,6 +2604,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; |