mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Merge pull request #108577 from YYF233333/global_class_list
Simplify `ScriptServer::get_global_class_list`
This commit is contained in:
commit
fdf32d1b2a
23 changed files with 155 additions and 150 deletions
|
|
@ -3858,35 +3858,28 @@ struct SortMethodWithHashes {
|
|||
bool BindingsGenerator::_populate_object_type_interfaces() {
|
||||
obj_types.clear();
|
||||
|
||||
List<StringName> class_list;
|
||||
ClassDB::get_class_list(&class_list);
|
||||
class_list.sort_custom<StringName::AlphCompare>();
|
||||
|
||||
while (class_list.size()) {
|
||||
StringName type_cname = class_list.front()->get();
|
||||
LocalVector<StringName> class_list;
|
||||
ClassDB::get_class_list(class_list);
|
||||
|
||||
for (const StringName &type_cname : class_list) {
|
||||
ClassDB::APIType api_type = ClassDB::get_api_type(type_cname);
|
||||
|
||||
if (api_type == ClassDB::API_NONE) {
|
||||
class_list.pop_front();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ignored_types.has(type_cname)) {
|
||||
_log("Ignoring type '%s' because it's in the list of ignored types\n", String(type_cname).utf8().get_data());
|
||||
class_list.pop_front();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!ClassDB::is_class_exposed(type_cname)) {
|
||||
_log("Ignoring type '%s' because it's not exposed\n", String(type_cname).utf8().get_data());
|
||||
class_list.pop_front();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!ClassDB::is_class_enabled(type_cname)) {
|
||||
_log("Ignoring type '%s' because it's not enabled\n", String(type_cname).utf8().get_data());
|
||||
class_list.pop_front();
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -4447,8 +4440,6 @@ bool BindingsGenerator::_populate_object_type_interfaces() {
|
|||
|
||||
obj_types.insert(itype.name + CS_SINGLETON_INSTANCE_SUFFIX, itype);
|
||||
}
|
||||
|
||||
class_list.pop_front();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue