feat: add validated quicksave persistence

This commit is contained in:
2026-07-05 18:10:33 +02:00
parent 2fcf641152
commit 08b7bee0e5
10 changed files with 264 additions and 0 deletions
@@ -0,0 +1,21 @@
extends Node
@export var simulation_manager: Node
var store := SaveSlotStore.new()
func _unhandled_key_input(event: InputEvent) -> void:
if not event.pressed or event.echo:
return
if event.keycode == KEY_F5:
if store.save(simulation_manager):
print("[SaveSlot] Quicksave written")
else:
push_error("[SaveSlot] " + store.last_error)
get_viewport().set_input_as_handled()
elif event.keycode == KEY_F9:
if store.load_into(simulation_manager):
print("[SaveSlot] Quicksave restored")
else:
push_error("[SaveSlot] " + store.last_error)
get_viewport().set_input_as_handled()