Add more error management

This commit is contained in:
Adrien Ufferte
2025-08-13 10:22:54 +02:00
parent b9cbccab5e
commit 178a0f811e
3 changed files with 34 additions and 20 deletions
+14 -8
View File
@@ -47,14 +47,20 @@ func purge_user_folders_if_needed() -> void:
if previous_version == "" or Utils.compare_versions(previous_version, "2.1.3") < 0:
Logger.trace("UserDataManager: Version difference detected, need to purge user folder to avoid data incompatibility")
var dir: DirAccess = DirAccess.open("user://")
if dir:
dir.list_dir_begin()
var file_name: String = dir.get_next()
while file_name != "":
if dir.current_is_dir() and file_name != "." and file_name != "..":
Utils.delete_directory_recursive("user://".path_join(file_name))
file_name = dir.get_next()
dir.list_dir_end()
var error: Error = DirAccess.get_open_error()
if error != OK:
Logger.error("UserDataManager: Could not open user:// directory for cleanup. Error: %s" % error_string(error))
return
if not dir:
Logger.warn("UserDataManager: Could not open user:// directory for cleanup.")
return
dir.list_dir_begin()
var file_name: String = dir.get_next()
while file_name != "":
if dir.current_is_dir() and file_name != "." and file_name != "..":
Utils.delete_directory_recursive("user://".path_join(file_name))
file_name = dir.get_next()
dir.list_dir_end()
Logger.trace("UserDataManager: Purge completed")
_device_settings.game_version = current_version