You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Implement CSharpScript::get_script_method_list and related functionality.
This commit is contained in:
committed by
Ben Rog-Wilhelm
parent
41d1dba35f
commit
f13f2d512f
@@ -2474,6 +2474,17 @@ void CSharpScript::set_source_code(const String &p_code) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void CSharpScript::get_script_method_list(List<MethodInfo> *p_list) const {
|
||||
|
||||
if (!script_class)
|
||||
return;
|
||||
|
||||
const Vector<GDMonoMethod *> &methods = script_class->get_all_methods();
|
||||
for (int i = 0; i < methods.size(); ++i) {
|
||||
p_list->push_back(methods[i]->get_method_info());
|
||||
}
|
||||
}
|
||||
|
||||
bool CSharpScript::has_method(const StringName &p_method) const {
|
||||
|
||||
if (!script_class)
|
||||
@@ -2482,6 +2493,25 @@ bool CSharpScript::has_method(const StringName &p_method) const {
|
||||
return script_class->has_fetched_method_unknown_params(p_method);
|
||||
}
|
||||
|
||||
MethodInfo CSharpScript::get_method_info(const StringName &p_method) const {
|
||||
|
||||
if (!script_class)
|
||||
return MethodInfo();
|
||||
|
||||
GDMonoClass *top = script_class;
|
||||
|
||||
while (top && top != native) {
|
||||
GDMonoMethod *params = top->get_fetched_method_unknown_params(p_method);
|
||||
if (params) {
|
||||
return params->get_method_info();
|
||||
}
|
||||
|
||||
top = top->get_parent_class();
|
||||
}
|
||||
|
||||
return MethodInfo();
|
||||
}
|
||||
|
||||
Error CSharpScript::reload(bool p_keep_state) {
|
||||
|
||||
bool has_instances;
|
||||
|
||||
Reference in New Issue
Block a user