diff options
Diffstat (limited to 'client/menu/ingame.gd')
-rw-r--r-- | client/menu/ingame.gd | 23 |
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") |