SelectableOptionButton.gd 457 B

12345678910111213141516171819202122
  1. extends HBoxContainer
  2. @export var title := ""
  3. @export var selected := false
  4. signal button_pressed
  5. var selected_index := 0
  6. @export var press_sfx := "beep"
  7. func _process(_delta: float) -> void:
  8. if selected:
  9. handle_inputs()
  10. $Cursor.modulate.a = int(selected)
  11. $Title.text = tr(title)
  12. func handle_inputs() -> void:
  13. if Input.is_action_just_pressed("ui_accept"):
  14. button_pressed.emit()
  15. if press_sfx != "":
  16. AudioManager.play_global_sfx(press_sfx)