public static UserInfo InitUserInfo(CMD_GP_LogonSuccess logonInfo) { return(new UserInfo() { UserID = logonInfo.dwUserID, HeadId = logonInfo.wFaceID, Account = logonInfo.szAccounts, NickName = logonInfo.szNickName, CurMoney = logonInfo.lUserScore, CurBank = logonInfo.lUserInsure, Gender = logonInfo.cbGender, DeskNO = CommonDefine.INVALID_TABLE, DeskStation = CommonDefine.INVALID_CHAIR, MoorMachine = logonInfo.cbMoorMachine, CutRoomID = logonInfo.dwLockServerID }); }
void OnLogonSuccess(Packet packet) { int dataStruct = Marshal.SizeOf(typeof(CMD_GP_LogonSuccess)); com.QH.QPGame.GameUtils.Logger.Net.Log("logon success. size:" + packet.DataSize + "/" + dataStruct); if (packet.DataSize < dataStruct) { com.QH.QPGame.GameUtils.Logger.Net.LogError(" CMD_GP_LogonSuccess data error!"); return; } ByteBuffer buffer = ByteBufferPool.PopPacket(packet.Data); byte[] descData = buffer.PopByteArray(Marshal.SizeOf(typeof(CMD_GP_LogonSuccess))); CMD_GP_LogonSuccess loginData = GameConvert.ByteToStruct <CMD_GP_LogonSuccess>(descData); GameApp.GameData.UserInfo = ProtoHelper.InitUserInfo(loginData); com.QH.QPGame.GameUtils.Logger.Net.Log("User:"******" Loged|Money:" + loginData.lUserScore + "|Bank:" + loginData.lUserInsure); while (true) { string str = ""; ushort type = ProtoHelper.ReadDescDataString(ref buffer, ref str); if (type == 0) { break; } switch (type) { case CommonDefine.DTP_GP_UI_UNDER_WRITE: { GameApp.GameData.UserInfo.UnderWrite = str; break; } } } ByteBufferPool.DropPacket(buffer); GameApp.Account.CallLogonSuccessEvent(); }