C#: Clear existing data directory extracted from PCK

This commit is contained in:
scgm0 2024-09-12 07:12:01 +08:00
parent e2dd56bea7
commit a29ddd4674
1 changed files with 8 additions and 2 deletions

View File

@ -192,8 +192,14 @@ private:
} }
} }
if (!has_data) { if (!has_data) {
// 3. Extract the data to a temporary location to load from there. // 3. Extract the data to a temporary location to load from there, delete old data if it exists but is not up-to-date.
Ref<DirAccess> da = DirAccess::create_for_path(packed_path); Ref<DirAccess> da;
if (DirAccess::exists(data_dir_root)) {
da = DirAccess::open(data_dir_root);
ERR_FAIL_COND(da.is_null());
ERR_FAIL_COND(da->erase_contents_recursive() != OK);
}
da = DirAccess::create_for_path(packed_path);
ERR_FAIL_COND(da.is_null()); ERR_FAIL_COND(da.is_null());
ERR_FAIL_COND(da->copy_dir(packed_path, data_dir_root) != OK); ERR_FAIL_COND(da->copy_dir(packed_path, data_dir_root) != OK);
} }