summaryrefslogtreecommitdiff
path: root/client/menu/ingame.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu/ingame.gd')
-rw-r--r--client/menu/ingame.gd23
1 files changed, 23 insertions, 0 deletions
diff --git a/client/menu/ingame.gd b/client/menu/ingame.gd
index 659528aa..f8653411 100644
--- a/client/menu/ingame.gd
+++ b/client/menu/ingame.gd
@@ -20,11 +20,14 @@ extends Menu
@onready var options = $Side/Margin/Options
@onready var game: Game = $"../Game"
@onready var lobby_button: Button = $Side/Margin/Options/Lobby
+@onready var leave_button: Button = $Side/Margin/Options/Leave
var opened
func _ready():
opened = Time.get_ticks_msec()
lobby_button.disabled = game.in_lobby
+ game.joined.connect(_on_game_joined)
+ game.left.connect(_on_game_left)
super()
func anim_setup(): pass
@@ -57,3 +60,23 @@ func _on_quit_pressed():
func _on_lobby_pressed():
game.mp.send_chat("/end")
exit()
+
+func _on_leave_pressed():
+ if game.is_joined:
+ game.mp.send_leave()
+ elif not game.join_sent:
+ leave_button.disabled = true
+ game.join()
+
+func _on_game_joined():
+ leave_button.disabled = false
+ update_button_text()
+
+func _on_game_left():
+ update_button_text()
+
+func update_button_text():
+ if game.is_joined:
+ leave_button.text = tr("Leave Game")
+ else:
+ leave_button.text = tr("Join Game")