|
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)
|
|
|
|
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()
|