extends Control func _ready(): multiplayer.peer_connected.connect(_on_peer_connected) multiplayer.peer_disconnected.connect(_on_peer_disconnected) if OS.has_environment("USER"): %Username.text = OS.get_environment("USER") elif OS.has_environment("USERNAME"): %Username.text = OS.get_environment("USERNAME") %GameName.text = "%s's Game" % [%Username.text] func get_ip() -> String: var ip := "127.0.0.1" if %IP.text: ip = %IP.text return ip func get_port() -> int: var port := 1234 if %Port.text: port = int(%Port.text) return port func _on_peer_connected(id): Network._on_peer_connected(id) func _on_peer_disconnected(id): Network._on_peer_disconnected(id) func _on_host_pressed() -> void: Client.player.username = %Username.text var response = await Client.request( "%s" % [Client.game_lobby_url], [], HTTPClient.METHOD_POST, JSON.stringify({"host": true, "port": get_port(), "name" : %GameName.text}) ) if response.result_code == HTTPRequest.RESULT_SUCCESS: var result = response.parse_json() if result["success"]: Client.current_game_id = result["data"] Network.host_game(get_port()) get_tree().change_scene_to_file("res://UI/PlayerLobby/Lobby.tscn") func _on_join_pressed() -> void: Client.player.username = %Username.text Network.join_game(get_ip(), get_port()) get_tree().change_scene_to_file("res://UI/PlayerLobby/Lobby.tscn") func _on_search_pressed() -> void: Client.player.username = %Username.text get_tree().change_scene_to_file("res://UI/GameLobby/game_lobby.tscn")