You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-20 14:45:44 +00:00
Merge pull request #108236 from timothyqiu/simplify-while
EditorFileSystem: Simplify resource loading logic on startup
This commit is contained in:
@@ -3420,24 +3420,17 @@ Ref<Resource> EditorFileSystem::_load_resource_on_startup(ResourceFormatImporter
|
||||
ERR_FAIL_V_MSG(Ref<Resource>(), vformat("Failed loading resource: %s. The file doesn't seem to exist.", p_path));
|
||||
}
|
||||
|
||||
Ref<Resource> res;
|
||||
bool can_retry = true;
|
||||
bool retry = true;
|
||||
while (retry) {
|
||||
retry = false;
|
||||
|
||||
res = p_importer->load_internal(p_path, r_error, p_use_sub_threads, r_progress, p_cache_mode, can_retry);
|
||||
|
||||
if (res.is_null() && can_retry) {
|
||||
can_retry = false;
|
||||
Error err = singleton->_reimport_file(p_path, HashMap<StringName, Variant>(), "", nullptr, false);
|
||||
if (err == OK) {
|
||||
retry = true;
|
||||
}
|
||||
}
|
||||
// Fail silently. Hopefully the resource is not yet imported.
|
||||
Ref<Resource> res = p_importer->load_internal(p_path, r_error, p_use_sub_threads, r_progress, p_cache_mode, true);
|
||||
if (res.is_valid()) {
|
||||
return res;
|
||||
}
|
||||
|
||||
return res;
|
||||
// Retry after importing the resource.
|
||||
if (singleton->_reimport_file(p_path, HashMap<StringName, Variant>(), "", nullptr, false) != OK) {
|
||||
return Ref<Resource>();
|
||||
}
|
||||
return p_importer->load_internal(p_path, r_error, p_use_sub_threads, r_progress, p_cache_mode, false);
|
||||
}
|
||||
|
||||
bool EditorFileSystem::_should_skip_directory(const String &p_path) {
|
||||
|
||||
Reference in New Issue
Block a user