コード例 #1
0
    /// <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
        }
    }
コード例 #2
0
    /// <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);
    }
コード例 #3
0
    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);
    }