class_name PauseMenuSaves extends BaseMenu signal close_save_list signal open_save_list @export var show_save_ui_button: BaseButton @export var new_save_ui: Control @export var save_name_input: LineEdit @export var create_save_button: BaseButton @export var create_save_cancel_button: BaseButton @export var save_files_list_ui: SaveFilesListUI func init() -> void: super.init() create_save_button.pressed.connect(_on_create_save_button_pressed) create_save_cancel_button.pressed.connect(_on_create_save_cancel_button_pressed) show_save_ui_button.pressed.connect(_on_show_save_ui_button_pressed) pause_menu.open_menu.connect(_on_open_menu) func _on_create_save_button_pressed() -> void: var save_name: String = save_name_input.text if save_name.strip_edges() == "": save_name = Time.get_datetime_string_from_system(false, true) new_save_ui.hide() SignalManager.hide_ui.emit() await get_tree().create_timer(.150).timeout # A hack to allow time for UI to hide before taking screenshot SaveGameManager.create_save.emit(save_name) pause_menu.open_menu.emit("") SignalManager.resume_game.emit() func _on_create_save_cancel_button_pressed() -> void: new_save_ui.hide() func _on_open_menu(menu_name: String) -> void: if menu_name == name: save_files_list_ui.refresh_saves_list() func _on_show_save_ui_button_pressed() -> void: save_name_input.text = Time.get_datetime_string_from_system(false, true) new_save_ui.show()