public void JoinLobby(CSteamID lobbyId) { if (!SteamManager.Initialized) { lobbyConnectionState = SessionConnectionState.FAILED; return; } lobbyConnectionState = SessionConnectionState.CONNECTING; SteamMatchmaking.JoinLobby(lobbyId); // ...continued in OnLobbyEntered callback }
public void CreateLobbyAndInviteFriend() { if (!SteamManager.Initialized) { lobbyConnectionState = SessionConnectionState.FAILED; return; } UNETServerController.inviteFriendOnStart = true; lobbyConnectionState = SessionConnectionState.CONNECTING; SteamMatchmaking.CreateLobby(lobbyAccess, MAX_USERS); // ...continued in OnLobbyEntered callback }
public void FindMatch() { if (!SteamManager.Initialized) { lobbyConnectionState = SessionConnectionState.FAILED; return; } lobbyConnectionState = SessionConnectionState.CONNECTING; //Note: call SteamMatchmaking.AddRequestLobbyList* before RequestLobbyList to filter results by some criteria SteamMatchmaking.AddRequestLobbyListStringFilter("game", GAME_ID, ELobbyComparison.k_ELobbyComparisonEqual); var call = SteamMatchmaking.RequestLobbyList(); m_LobbyMatchList.Set(call, OnLobbyMatchList); }
public void Disconnect() { lobbyConnectionState = SessionConnectionState.DISCONNECTED; ClientScene.DestroyAllClientObjects(); if (SteamManager.Initialized) { SteamMatchmaking.LeaveLobby(steamLobbyId); } if (myClient != null) { myClient.Disconnect(); myClient = null; } UNETServerController.Disconnect(); NetworkClient.ShutdownAll(); steamLobbyId.Clear(); }