Files
Kalulu/folder_unzipper.gd
T
2024-01-18 10:32:09 +01:00

16 lines
562 B
GDScript

extends ZIPReader
class_name FolderUnzipper
func extract(path: String, extract_in_subfolder: = true) -> void:
open(path)
var extract_folder: = path.get_basename() if extract_in_subfolder else path.get_base_dir()
for sub_path in get_files():
var file_name: = extract_folder.path_join(sub_path)
var folder_name: = file_name.get_base_dir()
if not DirAccess.dir_exists_absolute(folder_name):
DirAccess.make_dir_recursive_absolute(folder_name)
var file: = FileAccess.open(file_name, FileAccess.WRITE)
file.store_buffer(read_file(sub_path))
close()