Пример #1
0
    public RoomServerInfo GetRoomServer(SocketAsyncEventArgs args)
    {
        if (RoomServers.ContainsKey(args))
        {
            RoomServerInfo rsi = RoomServers[args];
            return(rsi);
        }

        return(null);
    }
Пример #2
0
 public void DropAClient(SocketAsyncEventArgs args)
 {
     if (Players.ContainsKey(args))
     {
         Log($"MSG: User left the lobby-server - {Players[args].Enter.Account} - PlayerCount:{Players.Count-1}/{_server.MaxClientCount}"); // 玩家离开大厅服务器
         Players.Remove(args);
     }
     else if (RoomServers.ContainsKey(args))
     {
         Log($"MSG: Room-server left the lobby-server - {RoomServers[args].Login.ServerName} - RoomServerCount:{RoomServers.Count-1}"); // 房间服务器离开大厅服务器
         // 该房间服务器所带来的房间数也都要清理一下
         RemoveRoomsInARoomServer(args);
         RoomServers.Remove(args);
     }
     else
     {
         Log("MSG: Server - Remove Player or RoomServer failed - Player or RoomServer not found!");
     }
 }