|
|
@ -7,15 +7,16 @@ |
|
|
|
extends Node |
|
|
|
|
|
|
|
|
|
|
|
signal game_saved |
|
|
|
signal game_loaded |
|
|
|
signal create_auto_save_file |
|
|
|
signal create_save_file(save_name: String) |
|
|
|
signal delete_save_file(filename: String) |
|
|
|
signal load_save_file(filename: String) |
|
|
|
signal save_error(error_message: String) |
|
|
|
signal load_error(error_message: String) |
|
|
|
signal create_auto_save |
|
|
|
signal create_save(save_name: String) |
|
|
|
signal delete_save(filename: String) |
|
|
|
signal delete_error(error_message: String) |
|
|
|
signal load_complete |
|
|
|
signal load_error(error_message: String) |
|
|
|
signal load_save(filename: String) |
|
|
|
signal save_complete |
|
|
|
signal save_error(error_message: String) |
|
|
|
|
|
|
|
signal quick_save |
|
|
|
signal quick_load |
|
|
|
signal open_save_list_ui |
|
|
@ -32,9 +33,9 @@ var _save_level_data_component: SaveLevelDataComponent ## Contains the save path |
|
|
|
func _ready() -> void: |
|
|
|
quick_load.connect(quick_load_game) |
|
|
|
quick_save.connect(quick_load_game) |
|
|
|
create_save_file.connect(_on_save_game_as_resource) |
|
|
|
load_save_file.connect(load_game_save) |
|
|
|
delete_save_file.connect(_on_delete_save_file) |
|
|
|
create_save.connect(_on_save_game_as_resource) |
|
|
|
load_save.connect(load_game_save) |
|
|
|
delete_save.connect(_on_delete_save) |
|
|
|
toggle_save_icon_generation.connect(_on_toggle_save_icon_generation) |
|
|
|
|
|
|
|
func _unhandled_input(event: InputEvent) -> void: |
|
|
@ -148,7 +149,7 @@ func _load_game_resource(resource_filename: String) -> void: |
|
|
|
if resource is Node3DDataResource: |
|
|
|
(resource as Node3DDataResource)._load_data(root_node) |
|
|
|
|
|
|
|
game_loaded.emit() |
|
|
|
load_complete.emit() |
|
|
|
|
|
|
|
func _save_game_as_resource(resource_filename: String) -> void: |
|
|
|
if not _load_save_level_data_component(): return |
|
|
@ -165,7 +166,7 @@ func _save_game_as_resource(resource_filename: String) -> void: |
|
|
|
return |
|
|
|
|
|
|
|
_take_save_screenshot(save_game_file_path) |
|
|
|
game_saved.emit() |
|
|
|
save_complete.emit() |
|
|
|
|
|
|
|
## Save the properties defined on the SaveDataComponents attached to various nodes (such as Block) |
|
|
|
func _save_node_data() -> void: |
|
|
@ -203,10 +204,10 @@ func _on_save_game_as_resource(save_name: String) -> void: |
|
|
|
|
|
|
|
_game_data_resource.save_name = save_name |
|
|
|
_save_game_as_resource(_filename) |
|
|
|
game_saved.emit() |
|
|
|
save_complete.emit() |
|
|
|
|
|
|
|
## Delete both the save file and the related screenshot |
|
|
|
func _on_delete_save_file(filename: String) -> void: |
|
|
|
func _on_delete_save(filename: String) -> void: |
|
|
|
if filename.length() < 1: |
|
|
|
delete_error.emit("Empty filename provided") |
|
|
|
return |
|
|
|