1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-04 17:04:49 +00:00

Change ClassDB::get_class_list and related stuff.

This commit is contained in:
Yufeng Ying
2025-01-08 20:01:55 +08:00
parent 99a39ce6ea
commit a50fc5acd8
23 changed files with 155 additions and 150 deletions

View File

@@ -944,20 +944,20 @@ void EditorBuildProfileManager::_detect_from_project() {
edited->clear_disabled_classes();
List<StringName> all_classes;
ClassDB::get_class_list(&all_classes);
LocalVector<StringName> all_classes;
ClassDB::get_class_list(all_classes);
for (const StringName &E : all_classes) {
if (String(E).begins_with("Editor") || ClassDB::get_api_type(E) != ClassDB::API_CORE || all_used_classes.has(E)) {
for (const StringName &class_name : all_classes) {
if (String(class_name).begins_with("Editor") || ClassDB::get_api_type(class_name) != ClassDB::API_CORE || all_used_classes.has(class_name)) {
// This class is valid or editor-only, do nothing.
continue;
}
StringName p = ClassDB::get_parent_class(E);
StringName p = ClassDB::get_parent_class(class_name);
if (!p || all_used_classes.has(p)) {
// If no parent, or if the parent is enabled, then add to disabled classes.
// This way we avoid disabling redundant classes.
edited->set_disable_class(E, true);
edited->set_disable_class(class_name, true);
}
}