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: int = Client.get_config().get_value("general", "host_default_port") 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 GameLobby.request_post("/host", {"port": get_port(), "name" : %GameName.text}) if response.result_code == HTTPRequest.RESULT_SUCCESS: var result = response.parse_json() if result["success"]: GameLobby.current_game_id = result["data"]["id"] GameLobby.current_secret = result["data"]["secret"] 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")