Browse Source

Adding function for listing file saves

pull/17/head
Ryan Reed 1 month ago
parent
commit
9266f5bbfc
3 changed files with 37 additions and 0 deletions
  1. +26
    -0
      save_load/components/save_level_data_component.gd
  2. +10
    -0
      save_load/resources/save_file_details_resource.gd
  3. +1
    -0
      save_load/resources/save_file_details_resource.gd.uid

+ 26
- 0
save_load/components/save_level_data_component.gd View File

@ -62,3 +62,29 @@ func load_game() -> void:
for resource: Resource in game_data_resource.save_data_nodes:
if resource is Node3DDataResource:
(resource as Node3DDataResource)._load_data(root_node)
func list_saves() -> Array[SaveFileDetailsResource]: # TODO: Update hints
var save_files: Array[SaveFileDetailsResource] = []
if !DirAccess.dir_exists_absolute(save_game_data_path):
return save_files
for filename: String in ResourceLoader.list_directory(save_game_data_path):
if !filename.begins_with("save_"): continue
if !filename.ends_with(".tres"): continue # Screenshots, etc
var _save_path: String = save_game_data_path + filename
var _save_icon: String = filename.replace(".tres", ".png")
var _save_resource: SaveFileDetailsResource = SaveFileDetailsResource.new()
var _loaded_file: FileAccess = FileAccess.open(_save_path, FileAccess.READ)
_save_resource.filename = filename
_save_resource.date_created = Time.get_datetime_string_from_unix_time(FileAccess.get_modified_time(_save_path))
_save_resource.filesize = _loaded_file.get_length()
if FileAccess.file_exists(save_game_data_path + _save_icon):
_save_resource.save_icon = _save_icon
save_files.append(_save_resource)
return save_files

+ 10
- 0
save_load/resources/save_file_details_resource.gd View File

@ -0,0 +1,10 @@
## Details related to a filesave
## Used for displaying save file details in the UI
class_name SaveFileDetailsResource
extends Node
@export var filename: String = ""
@export var date_created: String = ""
@export var filesize: int = 0
@export var save_icon: String = "res://assets/icon.svg"

+ 1
- 0
save_load/resources/save_file_details_resource.gd.uid View File

@ -0,0 +1 @@
uid://hj7t2segibta

Loading…
Cancel
Save