blob: 7928d1529e78c6be6d6f91f848d1410ed14d41d3 (
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
28
29
30
31
32
33
34
35
36
37
|
extends ConfirmationDialog
class_name SettingRevertDialog
signal dialog_accepted(button : SettingRevertButton)
signal dialog_reverted(button : SettingRevertButton)
@export var dialog_text_key : String = "< reverting in {time} seconds >"
@export_group("Nodes")
@export var timer : Timer
var _revert_node : SettingRevertButton = null
func show_dialog(button : SettingRevertButton, time : float = 0) -> void:
timer.start(time)
popup_centered(Vector2(1,1))
_revert_node = button
func _notification(what : int) -> void:
if what == NOTIFICATION_VISIBILITY_CHANGED:
set_process(visible)
if not visible: _revert_node = null
func _process(_delta : float) -> void:
dialog_text = tr(dialog_text_key).format({ "time": Localisation.tr_number(int(timer.time_left)) })
func _on_canceled_or_close_requested() -> void:
timer.stop()
dialog_reverted.emit(_revert_node)
func _on_confirmed() -> void:
timer.stop()
dialog_accepted.emit(_revert_node)
func _on_resolution_revert_timer_timeout() -> void:
dialog_reverted.emit(_revert_node)
hide()
|