mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
33 lines
841 B
GDScript
33 lines
841 B
GDScript
class_name PackConfigOption
|
|
extends HBoxContainer
|
|
|
|
@export var selected := false
|
|
|
|
var values := []
|
|
|
|
signal value_changed(this: PackConfigOption)
|
|
|
|
var config_name := ""
|
|
|
|
var selected_index := 0
|
|
|
|
var is_bool := false
|
|
|
|
func _process(_delta: float) -> void:
|
|
if selected:
|
|
handle_inputs()
|
|
$Cursor.modulate.a = int(selected)
|
|
$Title.text = tr(config_name) + ":"
|
|
$Value.text = ("◄" if selected_index > 0 and selected else " ") + tr(str(values[selected_index])) + ("►" if selected_index < values.size() - 1 and selected else " ")
|
|
|
|
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(self)
|
|
|