# Hurry Curry! - a game about cooking # Copyright 2024 metamuffin # Copyright 2024 nokoe # Copyright 2024 tpart # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, version 3 of the License only. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # extends Menu @onready var anim = $AnimationPlayer @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() game.joined.connect(_on_game_joined) game.left.connect(_on_game_left) update_button_text() game.joined.connect(update_lobby_button) game.left.connect(update_lobby_button) update_lobby_button() super() func update_lobby_button(): lobby_button.disabled = game.in_lobby or not game.is_joined if game.in_lobby: lobby_button.tooltip_text = "Cannot cancel game since no game is running." elif not game.is_joined: lobby_button.tooltip_text = "You must join in order to be able to cancel the current game." else: lobby_button.tooltip_text = "" func anim_setup(): pass func _menu_open(): anim.play("activate") await anim.animation_finished func _menu_exit(): anim.play_backwards("activate") await anim.animation_finished func _on_resume_pressed(): exit() func _on_main_menu_pressed(): parent_menu.replace_menu("res://menu/main.tscn") func _on_settings_pressed(): submenu("res://menu/settings.tscn") func _on_reconnect_pressed(): parent_menu.replace_menu("res://menu/game.tscn") func _on_quit_pressed(): quit() func _on_lobby_pressed(): game.mp.send_chat(game.player_id, "/end") exit() func _on_leave_pressed(): if game.is_joined: game.mp.send_leave(game.player_id) 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("c.menu.ingame.leave") else: leave_button.text = tr("c.menu.ingame.join")