A Minecraft style clone in Godot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

48 lines
1.4 KiB

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