mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added the game
This commit is contained in:
30
Scripts/UI/SelectableOptionLabel.gd
Normal file
30
Scripts/UI/SelectableOptionLabel.gd
Normal file
@@ -0,0 +1,30 @@
|
||||
extends HBoxContainer
|
||||
|
||||
var selected := false
|
||||
@export var title := ""
|
||||
var selected_index := 0
|
||||
@export var values: Array[String] = []
|
||||
@export var add_colon := true
|
||||
|
||||
signal value_changed(new_index: int)
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if selected:
|
||||
handle_inputs()
|
||||
$Title/Cursor.visible = (selected)
|
||||
$Title.text = tr(title) + (":" if add_colon else "")
|
||||
$Value.text = ("◄" if selected_index > 0 and selected else " ") + tr(str(values[selected_index])) + ("►" if selected_index < values.size() - 1 and selected else " ")
|
||||
|
||||
func set_selected(active := false) -> void:
|
||||
selected = active
|
||||
|
||||
func handle_inputs() -> void:
|
||||
var old := selected_index
|
||||
if Input.is_action_just_pressed("ui_left"):
|
||||
selected_index -= 1
|
||||
if Input.is_action_just_pressed("ui_right"):
|
||||
selected_index += 1
|
||||
selected_index = clamp(selected_index, 0, values.size() - 1)
|
||||
if old != selected_index:
|
||||
value_changed.emit(selected_index)
|
||||
|
Reference in New Issue
Block a user