diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2025-08-22 12:46:04 -0700 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2025-08-22 12:46:04 -0700 |
| commit | 64f37f4209d80bfad976dd4a139c98002caef15f (patch) | |
| tree | 94c91953986e960573ae0092f8ad7120c1c266f0 /scripts/MainMenu.gd | |
| parent | 255fbf19cc9499ef384d41f68515da5e49e8a3ce (diff) | |
Diffstat (limited to 'scripts/MainMenu.gd')
| -rw-r--r-- | scripts/MainMenu.gd | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/scripts/MainMenu.gd b/scripts/MainMenu.gd index fca6658..3411054 100644 --- a/scripts/MainMenu.gd +++ b/scripts/MainMenu.gd @@ -1,7 +1,7 @@ extends Control -signal game_host_request(args) -signal game_join_request(args) +signal game_host_request(game_name, username, max_players, private, password) +signal game_join_request(lobby_id, password, username, args) var lobby_name_changed : bool = false # automatically update lobby name to be based on player's name @@ -14,8 +14,19 @@ func _ready(): $SettingsMenu/GameCoordinatorURL.connect("text_changed", Globals, "update_gc_url") $PlayerInfo/Username.connect("text_changed", self, "automatically_update_lobby_name") $HostMenu/GameName.connect("text_changed", self, "set_lobby_name_changed") + + $HostMenu/HostButton.connect("pressed", self, "on_host_button_pressed") + $JoinMenu/JoinButton.connect("pressed", self, "on_join_button_pressed") #main_menu() # in case things are incorrectly visible from editing +func open_popup(title, message, close_disabled = false): + $NotifPopup.popup_centered() + $NotifPopup/PopupControl/TitleLabel.text = title + $NotifPopup/PopupControl/MessageLabel.text = message + $NotifPopup/PopupControl/ClosePopupButton.disabled = close_disabled + +func close_popup(): + $NotifPopup.visible = false func set_lobby_name_changed(_disregard_new_text): lobby_name_changed = true @@ -54,6 +65,8 @@ func set_back_button_visible(visible : bool): $BackButton.visible = visible $BackButton.disabled = false # reset in case left disabled by other function +## MENU CALLBACKS + # go to join game menu func join_menu_button_pressed(lobby_id_from_url : String = "", password_from_url : String = ""): set_menu_buttons_visible(false) @@ -82,3 +95,13 @@ func settings_menu_button_pressed(): # return to main menu func back_button(): main_menu() + +## GAME CALLBACKS +func on_join_button_pressed(): + open_popup("Connecting...", "Connecting to game coordinator...", true) + var args = { "color_pref_1" : $PlayerInfo/PlayerColor.selected, "color_pref_2" : $PlayerInfo/AltPlayerColor.selected } + emit_signal("game_join_request", $JoinMenu/LobbyID.text, $JoinMenu/Password.text, $PlayerInfo/Username.text, args) + +func on_host_button_pressed(): + open_popup("Connecting...", "Connecting to game coordinator...", true) + emit_signal("game_host_request", $HostMenu/GameName.text, $PlayerInfo/Username.text, $HostMenu/PlayerCount.get_selected_id(), $HostMenu/PrivateToggle.pressed, $HostMenu/Password.text) |
