1
0
mirror of https://github.com/godotengine/godot synced 2024-07-05 16:23:36 +00:00

CSharpScript should not own method infos of the base class

This commit is contained in:
huisedenanhai 2023-05-20 20:39:59 +08:00 committed by Paul Joannon
parent 7ebc866418
commit c313312ff5
No known key found for this signature in database
GPG Key ID: C12F69B0AD0390DD
2 changed files with 4 additions and 13 deletions

View File

@ -1596,14 +1596,7 @@ void CSharpInstance::get_method_list(List<MethodInfo> *p_list) const {
return;
}
const CSharpScript *top = script.ptr();
while (top != nullptr) {
for (const CSharpScript::CSharpMethodInfo &E : top->methods) {
p_list->push_back(E.method_info);
}
top = top->base_script.ptr();
}
script->get_script_method_list(p_list);
}
bool CSharpInstance::has_method(const StringName &p_method) const {

View File

@ -804,11 +804,11 @@ namespace Godot.Bridge
using var methods = new Collections.Array();
Type? top = scriptType;
Type native = GodotObject.InternalGetClassNativeBase(top);
Type native = GodotObject.InternalGetClassNativeBase(scriptType);
while (top != null && top != native)
if (scriptType != null && scriptType != native)
{
var methodList = GetMethodListForType(top);
var methodList = GetMethodListForType(scriptType);
if (methodList != null)
{
@ -859,8 +859,6 @@ namespace Godot.Bridge
methods.Add(methodInfo);
}
}
top = top.BaseType;
}
*outMethodsDest = NativeFuncs.godotsharp_array_new_copy(