mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-11-04 08:35:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			917 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			917 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
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)
 | 
						|
	
 |