From f087c6a98b1da55525a6e3c1d7c82477f82eb5cd Mon Sep 17 00:00:00 2001 From: Anson Bridges Date: Fri, 15 Aug 2025 23:04:40 -0700 Subject: Game Coordinator now mostly (~90%) functional --- scripts/ServerBrowser.gd | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) (limited to 'scripts/ServerBrowser.gd') diff --git a/scripts/ServerBrowser.gd b/scripts/ServerBrowser.gd index 2a1492e..3c59b9b 100644 --- a/scripts/ServerBrowser.gd +++ b/scripts/ServerBrowser.gd @@ -8,7 +8,7 @@ enum { ANY, GAME_LIST, HOST_RESPONSE, JOIN_RESPONSE, PASSWORD_RESPONSE } var game_ids = [] # change this!!! -var game_coordinator_url = "ws://127.0.0.1:8181" +var game_coordinator_url = "ws://192.168.7.112:8181" var awaiting_connection = false var expecting = [] var queued_messages = [] @@ -21,7 +21,7 @@ func join_game(): $HostPopup.visible = false $HostButton.disabled = true $RefreshButton.disabled = true - var message = { "type" : "join_game" } + var message = { "type" : "join_lobby" } if ws_client.state != 2: ws_client.sock_connect_to_url(game_coordinator_url) queued_messages.push_back( message ) @@ -37,35 +37,25 @@ func refresh_game_list(): game_ids.clear() game_list.clear() - var message = {"type" : "list_open_games"} + var message = {"type" : "list_open_lobbies"} if ws_client.state != 2: ws_client.sock_connect_to_url(game_coordinator_url) - queued_messages.push_back( message ) - awaiting_connection = true + ws_client.send_json( message ) else: ws_client.send_json( message ) func add_games_to_list(games): for game in games: - var game_str = game["game_name"] + " (" + str(int(game["current_players"])) + "/" + str(int(game["max_players"])) + ") (" +game["state"]+ ")" + (" (PRIVATE)" if game["private"] else "") + var game_str = game["lobby_name"] + " (" + str(int(game["current_players"])) + "/" + str(int(game["max_players"])) + ") (" +game["state"]+ ")" + (" (PRIVATE)" if game["private"] else "") game_list.add_item( game_str, null, true if game["state"] == "LOBBY" else false ) game_ids.append( game["id"] ) -func handle_gc_message(msg): - if msg == null or msg.error: return - msg = msg.result - if msg["type"] == "game_list": - add_games_to_list(msg["games"]) - ws_client.send_json({"type" : "ack"}) - if msg["type"] == "error": - print(msg["message"]) func _process(_delta): $GameCoordinatorStatus.text = "Game Coordinator Connection: " + str(ws_client.state) if ws_client.state == 2: - if awaiting_connection: - awaiting_connection = false - for queued_message in queued_messages: - ws_client.send_json( queued_message ) - - handle_gc_message(ws_client.receive(true)) + var recv_message = ws_client.receive(true) # true argument means expect + convert to JSON + if recv_message: + if "type" in recv_message and recv_message["type"] == "lobby_list": + add_games_to_list(recv_message["lobbies"]) + -- cgit v1.2.3