mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 07:28:14 +00:00
46 lines
1.0 KiB
GDScript
46 lines
1.0 KiB
GDScript
extends Control
|
|
@onready var cursor: TextureRect = $Cursor
|
|
|
|
var selected_index := 0
|
|
|
|
signal selected
|
|
signal cancelled
|
|
|
|
var active := false
|
|
|
|
@onready var choices := [$PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/Yes, $PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/No]
|
|
|
|
func _process(_delta: float) -> void:
|
|
if active:
|
|
handle_input()
|
|
cursor.global_position.x = choices[selected_index].global_position.x - 6
|
|
|
|
func open() -> void:
|
|
show()
|
|
AudioManager.play_global_sfx("pause")
|
|
selected_index = 1
|
|
await get_tree().process_frame
|
|
active = true
|
|
await selected
|
|
hide()
|
|
|
|
func handle_input() -> void:
|
|
if Input.is_action_just_pressed("ui_left"):
|
|
selected_index -= 1
|
|
if Input.is_action_just_pressed("ui_right"):
|
|
selected_index += 1
|
|
if Input.is_action_just_pressed("ui_back"):
|
|
close()
|
|
cancelled.emit()
|
|
selected_index = clamp(selected_index, 0, 1)
|
|
if Input.is_action_just_pressed("ui_accept"):
|
|
select()
|
|
|
|
func select() -> void:
|
|
selected.emit()
|
|
close()
|
|
|
|
func close() -> void:
|
|
active = false
|
|
hide()
|