コード例 #1
0
        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);
        }