aboutsummaryrefslogtreecommitdiff
path: root/game/src/Game/Menu/OptionMenu/SettingNodes/SettingRevertButton.gd
blob: 6785f73cb39a5cc5e44a43484e6149f5143c61d2 (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() -> void:
   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