Browse Source

Add Quick Save name and allow listing of Autosaves and Quicksaves

pull/15/head
Ryan Reed 3 months ago
parent
commit
038162f581
1 changed files with 7 additions and 5 deletions
  1. +7
    -5
      save_load/autoloads/save_game_manager.gd

+ 7
- 5
save_load/autoloads/save_game_manager.gd View File

@ -20,7 +20,7 @@ signal open_save_list_ui
signal close_save_list_ui signal close_save_list_ui
var _game_data_resource: SaveGameDataResource
var _game_data_resource: SaveGameDataResource = SaveGameDataResource.new()
var _save_level_data_component: SaveLevelDataComponent ## Contains the save paths and filenames var _save_level_data_component: SaveLevelDataComponent ## Contains the save paths and filenames
@ -37,7 +37,7 @@ func _unhandled_input(event: InputEvent) -> void:
quick_load_game() quick_load_game()
func list_saves() -> Array[SaveFileDetailsResource]:
func list_saves(include_quick_saves: bool = true, include_auto_saves: bool = true) -> Array[SaveFileDetailsResource]:
var save_files: Array[SaveFileDetailsResource] = [] var save_files: Array[SaveFileDetailsResource] = []
if not _load_save_level_data_component(): if not _load_save_level_data_component():
return save_files return save_files
@ -47,8 +47,10 @@ func list_saves() -> Array[SaveFileDetailsResource]:
return save_files return save_files
for filename: String in ResourceLoader.list_directory(save_game_data_path): 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
# TODO: Rework so the settings determine the file_name prepends
if filename.begins_with("quicksave_") and not include_quick_saves: continue
elif filename.begins_with("autosave_") and not include_auto_saves: continue
elif !filename.begins_with("save_") and !filename.begins_with("quicksave_") and !filename.begins_with("autosave_"): continue
var _save_path: String = save_game_data_path + filename var _save_path: String = save_game_data_path + filename
var _save_icon: String = filename.replace(".tres", ".png") var _save_icon: String = filename.replace(".tres", ".png")
@ -78,6 +80,7 @@ func list_saves() -> Array[SaveFileDetailsResource]:
func quick_save_game() -> void: func quick_save_game() -> void:
if not _load_save_level_data_component(): return if not _load_save_level_data_component(): return
_game_data_resource.save_name = "Quick Save"
_save_game_as_resource(_save_level_data_component.settings.quicksave_file_name) _save_game_as_resource(_save_level_data_component.settings.quicksave_file_name)
game_saved.emit() game_saved.emit()
@ -135,7 +138,6 @@ func _save_node_data() -> void:
if nodes == null: return if nodes == null: return
_game_data_resource = SaveGameDataResource.new()
for node: Node in nodes: for node: Node in nodes:
if node is SaveDataComponent: if node is SaveDataComponent:
@warning_ignore("unsafe_method_access") @warning_ignore("unsafe_method_access")


Loading…
Cancel
Save