/// <summary> /// Connect input was true. Try to connect to the server /// </summary> public async void Connect() { Debug.Log("Connecting to game!"); if (isDedicated) { // Connect to the dedicated server Mirror.NetworkManager.singleton.networkAddress = server.SteamId.ToString(); if (!Mirror.NetworkManager.singleton.isNetworkActive) { Mirror.NetworkManager.singleton.StartClient(); } } else { // Try to connect to the client hosted lobby var result = await lobby.Join(); if (result == Steamworks.RoomEnter.Success) { Debug.Log("Success!"); } // Now wait for the SteamLobby.OnLobbyEntered Call back to trigger so we can connect to the server } }
/// <summary> /// Connect to the selected steam lobby /// On successful connection, starts a new FacepunchP2PClient for connection to the lobby owner's FacepunchP2PServer /// </summary> private async Task ConnectToLobby() { RoomEnter roomEnter = await lobbyToJoin.Join(); if (roomEnter != RoomEnter.Success) { BMSLog.Log("Error connecting to lobby returned: " + roomEnter.ToString()); return; } this.lobby = lobbyToJoin; ConnectToServer(lobbyToJoin.Owner.Id); }
private async Task JoinLobby(Steamworks.Data.Lobby lobbyToJoin) { RoomEnter roomEnter = await lobbyToJoin.Join(); if (roomEnter != RoomEnter.Success) { BMSLog.Log("Error connecting to lobby returned: " + roomEnter.ToString()); return; } this.lobby = lobbyToJoin; BMSLog.Log("Connected to lobby, owner.Id = " + lobbyToJoin.Owner.Id.Value); ConnectToHost(lobbyToJoin.Owner.Id, null); }