You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Tweaks after feedback
This commit is contained in:
@@ -210,9 +210,6 @@ void PropertySelector::_update_search() {
|
|||||||
|
|
||||||
methods.push_back(MethodInfo("*Script Methods"));
|
methods.push_back(MethodInfo("*Script Methods"));
|
||||||
Object::cast_to<Script>(obj)->get_script_method_list(&methods);
|
Object::cast_to<Script>(obj)->get_script_method_list(&methods);
|
||||||
// TODO: Filter out things unsuitable for explicit calls, like constructors.
|
|
||||||
|
|
||||||
// TODO: We should handle script class hierarchies somehow. Right now we don't; it's unclear where this functionality should live.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
StringName base = base_type;
|
StringName base = base_type;
|
||||||
|
|||||||
@@ -2479,6 +2479,7 @@ void CSharpScript::get_script_method_list(List<MethodInfo> *p_list) const {
|
|||||||
if (!script_class)
|
if (!script_class)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// TODO: Filter out things unsuitable for explicit calls, like constructors.
|
||||||
const Vector<GDMonoMethod *> &methods = script_class->get_all_methods();
|
const Vector<GDMonoMethod *> &methods = script_class->get_all_methods();
|
||||||
for (int i = 0; i < methods.size(); ++i) {
|
for (int i = 0; i < methods.size(); ++i) {
|
||||||
p_list->push_back(methods[i]->get_method_info());
|
p_list->push_back(methods[i]->get_method_info());
|
||||||
|
|||||||
@@ -139,20 +139,6 @@ void GDMonoClass::fetch_attributes() {
|
|||||||
attrs_fetched = true;
|
attrs_fetched = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GDMonoClass::fetch_method_list() {
|
|
||||||
|
|
||||||
if (method_list_fetched)
|
|
||||||
return;
|
|
||||||
|
|
||||||
void *iter = NULL;
|
|
||||||
MonoMethod *raw_method = NULL;
|
|
||||||
while ((raw_method = mono_class_get_methods(get_mono_ptr(), &iter)) != NULL) {
|
|
||||||
method_list.push_back(memnew(GDMonoMethod(mono_method_get_name(raw_method), raw_method)));
|
|
||||||
}
|
|
||||||
|
|
||||||
method_list_fetched = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GDMonoClass::fetch_methods_with_godot_api_checks(GDMonoClass *p_native_base) {
|
void GDMonoClass::fetch_methods_with_godot_api_checks(GDMonoClass *p_native_base) {
|
||||||
|
|
||||||
CRASH_COND(!CACHED_CLASS(GodotObject)->is_assignable_from(this));
|
CRASH_COND(!CACHED_CLASS(GodotObject)->is_assignable_from(this));
|
||||||
@@ -465,8 +451,16 @@ const Vector<GDMonoClass *> &GDMonoClass::get_all_delegates() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const Vector<GDMonoMethod *> &GDMonoClass::get_all_methods() {
|
const Vector<GDMonoMethod *> &GDMonoClass::get_all_methods() {
|
||||||
if (!method_list_fetched)
|
|
||||||
fetch_method_list();
|
if (!method_list_fetched) {
|
||||||
|
void *iter = NULL;
|
||||||
|
MonoMethod *raw_method = NULL;
|
||||||
|
while ((raw_method = mono_class_get_methods(get_mono_ptr(), &iter)) != NULL) {
|
||||||
|
method_list.push_back(memnew(GDMonoMethod(mono_method_get_name(raw_method), raw_method)));
|
||||||
|
}
|
||||||
|
|
||||||
|
method_list_fetched = true;
|
||||||
|
}
|
||||||
|
|
||||||
return method_list;
|
return method_list;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,8 +102,6 @@ class GDMonoClass {
|
|||||||
friend class GDMonoAssembly;
|
friend class GDMonoAssembly;
|
||||||
GDMonoClass(const StringName &p_namespace, const StringName &p_name, MonoClass *p_class, GDMonoAssembly *p_assembly);
|
GDMonoClass(const StringName &p_namespace, const StringName &p_name, MonoClass *p_class, GDMonoAssembly *p_assembly);
|
||||||
|
|
||||||
void fetch_method_list();
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static String get_full_name(MonoClass *p_mono_class);
|
static String get_full_name(MonoClass *p_mono_class);
|
||||||
static MonoType *get_mono_type(MonoClass *p_mono_class);
|
static MonoType *get_mono_type(MonoClass *p_mono_class);
|
||||||
|
|||||||
Reference in New Issue
Block a user