online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/barbutton/undobutton.gd')
| -rw-r--r-- | ui/barbutton/undobutton.gd | 20 |
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() |