class_name SaveFilePanel extends Panel @export var save_panel_highlight: StyleBoxFlat @export var save_panel_normal: StyleBoxFlat @export_group("Node Exports") @export var save_name_label: Label @export var save_date_label: Label @export var save_icon: TextureRect @export var save_button: TextureButton @export var load_button: TextureButton @export var delete_button: TextureButton var save_file_details: SaveFileDetailsResource func _ready() -> void: mouse_entered.connect(_on_mouse_entered) mouse_exited.connect(_on_mouse_exited) delete_button.pressed.connect(_on_delete_button_pressed) save_button.pressed.connect(_on_save_button_pressed) load_button.pressed.connect(_on_load_button_pressed) func initialize(_resource: SaveFileDetailsResource) -> void: save_file_details = _resource set_save_date() set_save_icon() set_save_name() func set_save_date() -> void: save_date_label.text = save_file_details.date_created func set_save_icon() -> void: save_icon.texture = load(save_file_details.save_icon) func set_save_name() -> void: save_name_label.text = save_file_details.save_name if save_file_details.save_name == null or save_file_details.save_name == "": save_name_label.text = save_file_details.filename func _on_delete_button_pressed() -> void: SaveGameManager.delete_save_file.emit(save_file_details.filename) print("DELETING: ", save_file_details.filename) func _on_load_button_pressed() -> void: SaveGameManager.load_save_file.emit(save_file_details.filename) print("LOADING: ", save_file_details.filename) func _on_save_button_pressed() -> void: SaveGameManager.create_save_file.emit(save_file_details.filename) print("SAVING: ", save_file_details.filename) func _on_mouse_entered() -> void: set("theme_override_styles/panel", save_panel_highlight) func _on_mouse_exited() -> void: set("theme_override_styles/panel", save_panel_normal)