diff options
Diffstat (limited to 'Network/Lobby.gd')
-rw-r--r-- | Network/Lobby.gd | 67 |
1 files changed, 39 insertions, 28 deletions
diff --git a/Network/Lobby.gd b/Network/Lobby.gd index 67a1f34..80b663b 100644 --- a/Network/Lobby.gd +++ b/Network/Lobby.gd @@ -1,6 +1,12 @@ extends Control +var ConnectNodeContainer: Node +var ConnectNode: Node +var PlayersNodeContainer: Node +var PlayersNode: Node + + func _ready(): Network.connect("connection_succeeded", Callable(self, "_on_connection_succeeded")) Network.connect("connection_failed", Callable(self, "_on_connection_failed")) @@ -9,13 +15,18 @@ func _ready(): Network.connect("game_ended", Callable(self, "_on_game_ended")) $HTTPRequest.connect("request_completed", Callable(self, '_set_remote_ip')) + ConnectNodeContainer = $CenterContainer + ConnectNode = $CenterContainer/Connect + PlayersNodeContainer = $CenterContainer2 + PlayersNode = $CenterContainer2/Players + if OS.has_environment("USERNAME"): - $Connect/Name.text = OS.get_environment("USERNAME") + ConnectNode.get_node("Name").text = OS.get_environment("USERNAME") elif OS.has_environment("USER"): - $Connect/Name.text = OS.get_environment("USER") + ConnectNode.get_node("Name").text = OS.get_environment("USER") else: var desktop_path = OS.get_system_dir(0).replace("\\", "/").split("/") - $Connect/Name.text = desktop_path[desktop_path.size() - 2] + ConnectNode.get_node("Name").text = desktop_path[desktop_path.size() - 2] # show lobby if we're already connected somewhere if Network.peer != null: @@ -25,20 +36,20 @@ func _ready(): func disable_connect_buttons(is_disabled = true): - $Connect/Host.disabled = is_disabled - $Connect/Join.disabled = is_disabled + ConnectNode.get_node("Host").disabled = is_disabled + ConnectNode.get_node("Join").disabled = is_disabled func refresh_lobby(): var players = Network.players.values() var player = Network.player - $Players/List.clear() - $Players/List.add_item(player.name + " (You)") + PlayersNode.get_node("List").clear() + PlayersNode.get_node("List").add_item(player.name + " (You)") for p in players: - $Players/List.add_item(p.name) + PlayersNode.get_node("List").add_item(p.name) - $Players/Start.disabled = not multiplayer.is_server() + PlayersNode.get_node("Start").disabled = not multiplayer.is_server() func set_ip(): @@ -48,29 +59,29 @@ func set_ip(): func set_local_ip(): for ip in IP.get_local_addresses(): if ip.begins_with("192.168"): - $Players/LocalIP.text = ip + PlayersNode.get_node("LocalIP").text = ip break func set_remote_ip(): - $Players/RemoteIP.text = "" + PlayersNode.get_node("RemoteIP").text = "" $HTTPRequest.request("https://ipv4.icanhazip.com/") func _set_remote_ip(_result, response_code, _headers, body): if response_code == 200: - $Players/RemoteIP.text = body.get_string_from_utf8() + PlayersNode.get_node("RemoteIP").text = body.get_string_from_utf8() else: - $Players/RemoteIP.text = "Remote IP request failed!" + PlayersNode.get_node("RemoteIP").text = "Remote IP request failed!" self._on_game_error("Remote IP request failed!") func _on_connection_succeeded(): - $Connect.hide() - $Players.show() + ConnectNodeContainer.hide() + PlayersNodeContainer.show() func _on_connection_failed(): self.disable_connect_buttons() - $Connect/Error.set_text("Connection failed!") + ConnectNode.get_node("Error").set_text("Connection failed!") func _on_game_error(error): @@ -81,34 +92,34 @@ func _on_game_error(error): func _on_game_ended(): self.show() - $Connect.show() - $Players.hide() + ConnectNodeContainer.show() + PlayersNodeContainer.hide() self.disable_connect_buttons() func _on_Host_pressed(): - $Connect.hide() - $Players.show() - $Connect/Error.text = "" + ConnectNodeContainer.hide() + PlayersNodeContainer.show() + ConnectNode.get_node("Error").text = "" self.set_ip() - var player_name = $Connect/Name.text + var player_name = ConnectNode.get_node("Name").text Network.host_game(player_name) self.refresh_lobby() func _on_Join_pressed(): - var ip = $Connect/IP.text + var ip = ConnectNode.get_node("IP").text if not ip.is_valid_ip_address(): - $Connect/Error.text = "Invalid IP address!" + ConnectNode.get_node("Error").text = "Invalid IP address!" return - $Connect/Error.text = "" + ConnectNode.get_node("Error").text = "" self.disable_connect_buttons(false) self.set_ip() - var player_name = $Connect/Name.text + var player_name = ConnectNode.get_node("Name").text Network.join_game(ip, player_name) @@ -117,6 +128,6 @@ func _on_Start_pressed(): func _on_Back_pressed(): - $Connect.show() - $Players.hide() + ConnectNodeContainer.show() + PlayersNodeContainer.hide() Network.leave_game() |