Browse Source

C#: Fix return type hint for methods.

(cherry picked from commit 51c54b03d1aac56c2e55a1b7358140bd6cd00de4)
Zae 1 year ago
parent
commit
0b734a6371

+ 2 - 0
modules/mono/csharp_script.cpp

@@ -2346,6 +2346,8 @@ void CSharpScript::update_script_class_info(Ref<CSharpScript> p_script) {
 		MethodInfo mi;
 		mi.name = name;
 
+		mi.return_val = PropertyInfo::from_dict(method_info_dict["return_val"]);
+
 		Array params = method_info_dict["params"];
 
 		for (int j = 0; j < params.size(); j++) {

+ 13 - 0
modules/mono/glue/GodotSharp/GodotSharp/Core/Bridge/ScriptManagerBridge.cs

@@ -661,6 +661,19 @@ namespace Godot.Bridge
 
                             methodInfo.Add("name", method.Name);
 
+                            var returnVal = new Collections.Dictionary()
+                            {
+                                { "name", method.ReturnVal.Name },
+                                { "type", (int)method.ReturnVal.Type },
+                                { "usage", (int)method.ReturnVal.Usage }
+                            };
+                            if (method.ReturnVal.ClassName != null)
+                            {
+                                returnVal["class_name"] = method.ReturnVal.ClassName;
+                            }
+
+                            methodInfo.Add("return_val", returnVal);
+
                             var methodParams = new Collections.Array();
 
                             if (method.Arguments != null)