online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/barbutton/undobutton.gd')
-rw-r--r--ui/barbutton/undobutton.gd20
1 files changed, 11 insertions, 9 deletions
diff --git a/ui/barbutton/undobutton.gd b/ui/barbutton/undobutton.gd
index 72c2190..76d171a 100644
--- a/ui/barbutton/undobutton.gd
+++ b/ui/barbutton/undobutton.gd
@@ -1,12 +1,17 @@
extends ConfirmButton
class_name UndoButton, "res://assets/ui/undo.png"
+export(NodePath) onready var status = get_node(status) as StatusLabel
+
func _ready():
- Globals.network.connect("undo", self, "undo_recieved")
+ if Globals.network:
+ Globals.network.connect("undo", self, "undo_recieved")
func _pressed():
+ if Globals.spectating:
+ return
if waiting_on_answer:
_confirmed(true)
else:
@@ -16,9 +21,7 @@ func _pressed():
elif Globals.turn == Globals.team:
status.set_text("It is your turn!")
return
- Globals.network.send_packet(
- {gamecode = Globals.network.game_code, question = ""}, Network.HEADERS.undo
- )
+ Globals.network.send_packet({gamecode = Globals.network.game_code, question = ""}, Network.HEADERS.undo)
status.set_text("Undo request sent")
@@ -27,20 +30,19 @@ func undo_recieved(sig: Dictionary) -> void:
confirm()
else:
if sig.accepted:
- status.set_text("Undo request accepted")
undo()
else:
- status.set_text("Undo request rejected")
+ Globals.chat.server("Undo request declined")
func _confirmed(what: bool) -> void:
._confirmed(what)
- Globals.network.send_packet(
- {gamecode = Globals.network.game_code, accepted = what}, Network.HEADERS.undo
- )
+ Globals.network.send_packet({gamecode = Globals.network.game_code, accepted = what}, Network.HEADERS.undo)
if what:
undo()
func undo():
+ var mov = Utils.pop_move()
+ Globals.chat.server("Move %s undone" % mov.move)
Globals.grid.undo()