aboutsummaryrefslogtreecommitdiff
path: root/game/src/Game/Menu/OptionMenu/SettingNodes/SettingRevertButton.gd
blob: 431e3e5033a2bbbd1b9492f7d6414c0c80ea78fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
extends SettingOptionButton
class_name SettingRevertButton

@export_group("Nodes")
@export var revert_dialog : SettingRevertDialog

var previous_index : int = -1

func _ready():
   super()
   if revert_dialog != null:
      revert_dialog.visibility_changed.connect(_on_revert_dialog_visibility_changed)
      revert_dialog.dialog_accepted.connect(_on_accepted)
      revert_dialog.dialog_reverted.connect(_on_reverted)

func _on_revert_dialog_visibility_changed() -> void:
   disabled = revert_dialog.visible
   if not revert_dialog.visible:
      previous_index = -1

func _on_reverted(button : SettingRevertButton) -> void:
   if button != self: return
   selected = previous_index
   option_selected.emit(selected, false)

func _on_accepted(button : SettingRevertButton) -> void:
   if button != self: return