public void Execute(IPeer peer, IPacket packet) { cPKTChatLogin recvPacket = (cPKTChatLogin)packet; cPKTChatLoginResult resultPacket = new cPKTChatLoginResult(); do { if (0 == recvPacket.AccountId.Length) { resultPacket.ResultCode = cPKTChatLoginResult.eResultCode.TOO_SHORT_ACCOUNT_ID; break; } cChatPlayer chatPlayer = (cChatPlayer)peer; chatPlayer.AccountId = recvPacket.AccountId; cLogger.Information("a peer is added (account_id: {0})\r\n", chatPlayer.AccountId); peer.PeerId = chatPlayer.AccountId; cPeerRegistry.Instance.Add(peer); cLogger.Information("join to chatroom (account_id: {0})\r\n", chatPlayer.AccountId); int retChatRoomNumber = cChatRoomManager.Join(recvPacket.AccountId, peer); resultPacket.ResultCode = cPKTChatLoginResult.eResultCode.SUCCEED; resultPacket.ChatRoomNumber = retChatRoomNumber; } while (false); peer.Send(resultPacket); }
public void Execute(IPeer peer, IPacket packet) { cPKTChatRoomChange recvPacket = (cPKTChatRoomChange)packet; cPKTChatRoomChangeResult resultPacket = new cPKTChatRoomChangeResult(); do { cChatPlayer chatPlayer = (cChatPlayer)peer; if (false == cChatRoomManager.ChangeChatRoom(chatPlayer.AccountId, recvPacket.NewChatRoomIndex)) { resultPacket.ResultCode = cPKTChatRoomChangeResult.eResultCode.CANNOT_CHANGE_CHAT_ROOM; break; } resultPacket.ResultCode = cPKTChatRoomChangeResult.eResultCode.SUCCEED; } while (false); peer.Send(resultPacket); }