online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/confirm/confirm.gd')
-rw-r--r--ui/confirm/confirm.gd22
1 files changed, 22 insertions, 0 deletions
diff --git a/ui/confirm/confirm.gd b/ui/confirm/confirm.gd
new file mode 100644
index 0000000..28b0ac2
--- /dev/null
+++ b/ui/confirm/confirm.gd
@@ -0,0 +1,22 @@
+extends WindowDialog
+class_name Confirm
+
+signal confirmed(what)
+
+
+func _process(_delta):
+ if visible:
+ rect_position.x = clamp(rect_position.x, 0, OS.get_window_size().x - rect_size.x)
+ rect_position.y = clamp(rect_position.y, 50, OS.get_window_size().y - rect_size.y)
+
+
+func confirm(who, what: String, timeout := 5, called := "_confirmed"):
+ connect("confirmed", who, called)
+ popup_centered()
+ window_title = what
+ get_tree().create_timer(timeout).connect("timeout", self, "_pressed", [false])
+
+
+func _pressed(what: bool):
+ emit_signal("confirmed", what)
+ queue_free()