extends VBoxContainer


@export var save_file_scene: PackedScene


func _ready() -> void:
	SaveGameManager.refresh_saves_list.connect(_on_refresh_saves_list)
	refresh_saves_list()

## Clear the SaveFilesList node of all saves and load most recent saves
func refresh_saves_list() -> void:
	_clear_save_files_list()

	var save_files: Array[SaveFileDetailsResource] = SaveGameManager.list_saves()

	for save_resource: SaveFileDetailsResource in save_files:
		var _save_file: SaveFilePanel = save_file_scene.instantiate()
		_save_file.initialize(save_resource)
		add_child(_save_file)


func _clear_save_files_list() -> void:
	for _panel: SaveFilePanel in get_children():
		_panel.queue_free()

func _on_refresh_saves_list() -> void:
	refresh_saves_list()