public void NotifyInDisConnectClient(ServerPacketData requestData) { var user = UserMgr.GetUserByNetSessionID(requestData.SessionID); if (user != null) { var lobbyNum = user.RoomNumber; if (lobbyNum != PacketDef.INVALID_LOBBY_NUMBER) { var packet = new PKTInternalNtfRoomLeave() { RoomNumber = lobbyNum, UserID = user.ID, }; var packetBodyData = packet.Encode(); var internalPacket = new ServerPacketData(); internalPacket.Assign(requestData.SessionID, (UInt16)SYS_PACKET_ID.NTF_IN_ROOM_LEAVE, packetBodyData); ServerNetwork.Distribute(internalPacket); } UserMgr.RemoveUser(requestData.SessionID); } GameServer.MainLogger.Debug($"Current Connected Session Count: {ServerNetwork.SessionCount}"); }
public void NotifyInDisConnectClient(ServerPacketData requestData) { var sessionIndex = requestData.SessionIndex; var user = UserMgr.GetUser(sessionIndex); if (user != null) { var roomNum = user.RoomNumber; if (roomNum != PacketDef.INVALID_ROOM_NUMBER) { var packet = new PKTInternalNtfRoomLeave() { RoomNumber = roomNum, UserID = user.ID(), }; var packetBodyData = MessagePackSerializer.Serialize(packet); var internalPacket = new ServerPacketData(); internalPacket.Assign("", sessionIndex, (Int16)PACKETID.NTF_IN_ROOM_LEAVE, packetBodyData); ServerNetwork.Distribute(internalPacket); } UserMgr.RemoveUser(sessionIndex); } MainServer.MainLogger.Debug($"Current Connected Session Count: {ServerNetwork.SessionCount}"); }