online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/barbutton/drawbutton.gd')
| -rw-r--r-- | ui/barbutton/drawbutton.gd | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/ui/barbutton/drawbutton.gd b/ui/barbutton/drawbutton.gd index 2003794..41d3c38 100644 --- a/ui/barbutton/drawbutton.gd +++ b/ui/barbutton/drawbutton.gd @@ -1,31 +1,16 @@ -extends BarTextureButton +extends ConfirmButton class_name DrawButton, "res://assets/ui/draw.png" -const Confirm = preload("res://ui/confirm/Confirm.tscn") -var waiting_on_answer: Confirm = null -export(NodePath) onready var status = get_node(status) as StatusLabel - - -func _ready() -> void: - PacketHandler.connect("game_over", self, "set_disabled", [true]) - if Globals.network: - Globals.network.connect("signal_recieved", self, "_on_signal") - - -func _on_signal(what: Dictionary) -> void: +func _signal_recieved(what: Dictionary) -> void: if what.type == Network.SIGNALHEADERS.draw: if "question" in what: - var confirm = Confirm.instance() - add_child(confirm) - confirm.confirm(self, "Your opponent wants to draw", 20) - waiting_on_answer = confirm + confirm() else: - disabled = false if what.accepted: drawed() else: - status.set_text("Your opponent rejected the draw") + status.set_text("Draw request rejected") func drawed() -> GDScriptFunctionState: @@ -36,17 +21,12 @@ func _pressed() -> void: if waiting_on_answer: _confirmed(true) else: - disabled = true Globals.network.signal({"question": ""}, Network.SIGNALHEADERS.draw) status.set_text("Draw request sent") -func _confirmed(yes: bool) -> void: # called from confirmbar.confirmed - if waiting_on_answer: - if !waiting_on_answer.is_queued_for_deletion(): - waiting_on_answer.queue_free() - disabled = false - waiting_on_answer = null - Globals.network.signal({"accepted": yes}, Network.SIGNALHEADERS.draw) - if yes: - drawed() +func _confirmed(what: bool) -> void: # called from confirmbar.confirmed + ._confirmed(what) + Globals.network.signal({"accepted": what}, Network.SIGNALHEADERS.draw) + if what: + drawed() |