Пример #1
0
        public override void ClientDisconnect()
        {
            if (currentLobby.Id == 0)
            {
                return;
            }

            lobbyManager.DisconnectNetwork(currentLobby.Id);
            lobbyManager.DisconnectLobby(currentLobby.Id, LobbyDisconnected);
            currentLobby = new Lobby();
        }
        internal void LeaveLobby(DiscordLobby lobby)
        {
            Assert.IsNotNull(lobby);
            var id = (long)lobby.Id;

            if (!_connectedLobbies.ContainsKey(id))
            {
                throw new InvalidOperationException($"Not connected to lobby: {id}");
            }
            _connectedLobbies.Remove(id);
            _lobbyManager.DisconnectNetwork(id);
            _lobbyManager.DisconnectLobby(id, DiscordUtility.LogIfError);
            lobby.Dispose();
        }