Example #1
0
        private void OnUserEnterResp(Packet packet)
        {
            int dataStruct = Marshal.SizeOf(typeof(tagUserInfoHead));

            if (packet.DataSize < dataStruct)
            {
                Debug.LogWarning("data error!");
                return;
            }

            tagUserInfoHead userInfo = GameConvert.ByteToStruct <tagUserInfoHead>(packet.Data);
            PlayerInfo      player   = ProtoHelper.InitPlayerInfo(userInfo);

            if (player.ID == GameApp.GameData.UserInfo.UserID)
            {
                GameApp.GameData.UserInfo.SetSitInfo(player.DeskNO, player.DeskStation);
            }

            ByteBuffer buffer = ByteBufferPool.PopPacket(packet.Data);

            buffer.Position = dataStruct;

            while (true)
            {
                string str  = "";
                ushort type = ProtoHelper.ReadDescDataString(ref buffer, ref str);
                if (type == 0)
                {
                    break;
                }

                switch (type)
                {
                case CommonDefine.DTP_GR_NICK_NAME:
                {
                    player.NickName = str;
                    break;
                }
                }
            }
            ByteBufferPool.DropPacket(buffer);

            GameApp.GameSrv.AddPlayer(player);
            GameApp.GameSrv.CallUserEnterEvent(player);
        }
Example #2
0
        public static PlayerInfo InitPlayerInfo(tagUserInfoHead userInfo)
        {
            return(new PlayerInfo()
            {
                DeskNO = userInfo.wTableID,
                DeskStation = userInfo.wChairID,
                UserState = userInfo.cbUserStatus,

                Money = userInfo.lScore,
                BankMoney = userInfo.lInsure,

                HeadID = userInfo.wFaceID,

                ID = userInfo.dwUserID,

                Gender = userInfo.cbGender,
                DrawCount = userInfo.dwDrawCount,
                LostCount = userInfo.dwLostCount,
                WinCount = userInfo.dwWinCount,
                VipLevel = userInfo.cbMemberOrder
            });
        }