示例#1
0
    static int Close(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 0)
            {
                Net.Close();
                return(0);
            }
            else if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Connect)))
            {
                Connect arg0 = (Connect)ToLua.ToObject(L, 1);
                Net.Close(arg0);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: Net.Close"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
示例#2
0
    public void CloseConnectionsAndLeaveRoom()
    {
        foreach (var key in remoteAvatars.Keys)
        {
            destroyAvatar(key);
        }
        remoteAvatars.Clear();

        pendingMouthAnchorAttach.Clear();
        pendingLeftCardHandAttach.Clear();
        pendingCardHandUpdates.Clear();
        pendingStateUpdateRequest = false;

        Rooms.Leave(roomID);
        userInRoom = false;
        room       = null;
        UnityUserReporting.CurrentClient.LogEvent(UserReportEventLevel.Info, "User left room");

        foreach (var connection in remoteConnectionStates)
        {
            if (!(connection.Value.networkState == ConnectionState.Disconnecting ||
                  connection.Value.networkState == ConnectionState.Disconnected))
            {
                Net.Close(connection.Key);
                remoteConnectionStates[connection.Key].networkState = ConnectionState.Disconnecting;
            }

            if (!(connection.Value.voipState == ConnectionState.Disconnecting ||
                  connection.Value.voipState == ConnectionState.Disconnected))
            {
                Voip.Stop(connection.Key);
                remoteConnectionStates[connection.Key].voipState = ConnectionState.Disconnecting;
            }
        }
    }
示例#3
0
 public void Dispose()
 {
     if (Net.Connected)
     {
         Net.Close();
     }
 }
示例#4
0
 public void DisconnectAll()
 {
     foreach (var id in m_remotePlayers.Keys)
     {
         Net.Close(id);
     }
     m_remotePlayers.Clear();
 }
示例#5
0
 public void Disconnect()
 {
     if (m_remoteID != 0)
     {
         Net.Close(m_remoteID);
         m_remoteID = 0;
         m_state    = PeerConnectionState.Unknown;
     }
 }
 void DisconnectClient(int id)
 {
     IsTrue(id != 0);
     IsTrue(IsClientConnected(id));
     HideAvatar(id);
     Rooms.KickUser(roomId, clients[id].userId, 0);
     Net.Close(clients[id].userId);
     clients[id].Reset();
     BroadcastServerPacket();
 }
示例#7
0
    public void Disconnect(ulong userID)
    {
        if (userID != 0)
        {
            Net.Close(userID);

            RemotePlayer remote = SocialPlatformManager.GetRemoteUser(userID);
            if (remote != null)
            {
                remote.p2pConnectionState = PeerConnectionState.Unknown;
            }
        }
    }
示例#8
0
 static int Close(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Net obj = (Net)ToLua.CheckObject(L, 1, typeof(Net));
         obj.Close();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#9
0
    void DisconnectClient(int clientIndex)
    {
        Assert.IsTrue(clientIndex != 0);
        Assert.IsTrue(IsClientConnected(clientIndex));

        OnClientDisconnect(clientIndex);

        Rooms.KickUser(roomId, client[clientIndex].userId, 0);

        Net.Close(client[clientIndex].userId);

        client[clientIndex].Reset();

        BroadcastServerInfo();
    }
示例#10
0
    void DisconnectFromServer()
    {
        if (IsConnectedToServer())
        {
            ResetContext();
        }

        Net.Close(hostUserId);
        LeaveRoom(roomId, LogLeaveRoomResult);
        roomId     = 0;
        hostUserId = 0;
        state      = Disconnected;
        info.Clear();
        connections.Clear();
        isConnectionAccepted = false;
    }
示例#11
0
    void DisconnectFromServer()
    {
        if (IsConnectedToServer())
        {
            OnDisconnectFromServer();
        }

        Net.Close(hostUserId);

        LeaveRoom(roomId, LeaveRoomCallback);

        roomId = 0;

        hostUserId = 0;

        state = GuestState.Disconnected;

        serverInfo.Clear();

        connectionRequests.Clear();

        acceptedConnectionRequest = false;
    }
示例#12
0
 static void CloseCustomComponents()
 {
     Net.Close();
     Timer.Close();
 }
 public override void Close()
 {
     Net.Close();
 }
示例#14
0
 private void OnDestroy()
 {
     Proto.CallLeave();
     Net.Close();
 }