public override bool readFromBuff(ref NetInputBuffer buff) { // 包内容 buff.ReadByte(ref m_ChatType); buff.ReadByte(ref m_ContexSize); if (m_ContexSize > 0 && m_ContexSize <= 255) { buff.Read(ref m_Contex, m_ContexSize); } buff.ReadByte(ref m_SourNameSize); if (m_SourNameSize > 0 && m_SourNameSize <= GAMEDEFINE.MAX_CHARACTER_NAME) { buff.Read(ref m_SourName, m_SourNameSize); } if (m_ChatType == (int)ENUM_CHAT_TYPE.CHAT_TYPE_NORMAL || m_ChatType == (int)ENUM_CHAT_TYPE.CHAT_TYPE_MAP) { buff.ReadUint(ref m_SourID); } buff.ReadShort(ref m_CampID); buff.ReadUint(ref m_uWorldChatID); return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.Read(ref szAccount, NET_DEFINE.MAX_ACCOUNT) != NET_DEFINE.MAX_ACCOUNT) { return(false); } if (buff.Read(ref szPassWord, NET_DEFINE.MAX_PASSWORD) != NET_DEFINE.MAX_ACCOUNT) { return(false); } if (buff.ReadInt(ref uVersion) != 4) { return(false); } return(true); }
//公用继承接口 public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadByte(ref m_Return) != sizeof(byte)) { return(false); } if (m_Return == (byte)CHANGESCENERETURN.CSR_SUCCESS_DIFFSERVER) { if (buff.Read(ref m_IP, NET_DEFINE.IP_SIZE) != NET_DEFINE.IP_SIZE) { return(false); } if (buff.ReadShort(ref m_Port) != sizeof(short)) { return(false); } } if (buff.ReadInt(ref m_uKey) != sizeof(int)) { return(false); } return(true); }
//公用继承接口 public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadInt(ref m_Key) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_GUID) != sizeof(int)) { return(false); } if (buff.ReadShort(ref m_ServerID) != sizeof(short)) { return(false); } if (buff.Read(ref m_szAccount, NET_DEFINE.MAX_ACCOUNT) != NET_DEFINE.MAX_ACCOUNT) { return(false); } m_szAccount[NET_DEFINE.MAX_ACCOUNT] = 0; if (buff.ReadInt(ref m_nGender) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nCheckVer) != sizeof(int)) { return(false); } return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { // 包内容 if (buff.ReadByte(ref m_ContexSize) != 1) { return(false); } m_Contex = new byte[m_ContexSize]; if (buff.Read(ref m_Contex, m_ContexSize) != m_ContexSize) { return(false); } switch ((ENUM_CHAT_TYPE)m_ChatType) { case ENUM_CHAT_TYPE.CHAT_TYPE_NORMAL: case ENUM_CHAT_TYPE.CHAT_TYPE_WORLD: case ENUM_CHAT_TYPE.CHAT_TYPE_LIE: case ENUM_CHAT_TYPE.CHAT_TYPE_SYSTEM: case ENUM_CHAT_TYPE.CHAT_TYPE_MAP: break; case ENUM_CHAT_TYPE.CHAT_TYPE_TEAM: buff.ReadShort(ref m_TeamID); break; case ENUM_CHAT_TYPE.CHAT_TYPE_TELL: buff.ReadByte(ref m_TargetSize); buff.Read(ref m_TargetName, m_TargetSize); break; case ENUM_CHAT_TYPE.CHAT_TYPE_CHANNEL: buff.ReadShort(ref m_ChannelID); break; case ENUM_CHAT_TYPE.CHAT_TYPE_GUILD: buff.ReadShort(ref m_GuildID); break; case ENUM_CHAT_TYPE.CHAT_TYPE_CAMP: buff.ReadByte(ref m_MenpaiID); break; default: break; } return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { buff.ReadByte(ref m_NameSize); if (m_NameSize > 0) { buff.Read(ref m_szGuildName, m_NameSize); } buff.ReadByte(ref m_DescSize); if (m_DescSize > 0) { buff.Read(ref m_szGuildDesc, m_DescSize); } buff.ReadShort(ref m_Camp); return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { buff.ReadByte(ref m_GuildDescLength); if (m_GuildDescLength > 0) { buff.Read(ref m_GuildDesc, m_GuildDescLength); } return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { buff.ReadInt(ref iPosNum); for (int i = 0; i < iPosNum; ++i) { buff.Read(ref m_PosList[i].m_PosName, GAMEDEFINE.MAX_GUILD_POS_NAME_SIZE); buff.ReadByte(ref m_PosList[i].m_PosID); } return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { buff.ReadShort(ref m_TeamID); buff.ReadInt(ref m_TeamNum); buff.ReadByte(ref m_NeedTeamNum); buff.ReadByte(ref m_NameLen); buff.Read(ref m_szUserName, m_NameLen); return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { buff.ReadUint(ref m_GUID); buff.ReadByte(ref m_MessageType); buff.ReadByte(ref m_ContexSize); if (m_ContexSize > 0 && m_ContexSize <= 255) { buff.Read(ref m_Contex, m_ContexSize); } buff.ReadUint(ref m_CommonField); return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { buff.Read(ref m_GuildName, GAMEDEFINE.MAX_GUILD_NAME_SIZE); buff.Read(ref (m_GuildCreator), GAMEDEFINE.MAX_CHARACTER_NAME); buff.Read(ref (m_GuildChairMan), GAMEDEFINE.MAX_CHARACTER_NAME); buff.Read(ref (m_CityName), GAMEDEFINE_CITY.MAX_CITY_NAME_SIZE); buff.ReadByte(ref m_nLevel); buff.ReadInt(ref (m_nPortSceneID)); buff.ReadInt(ref (m_MemNum)); buff.ReadInt(ref (m_Longevity)); buff.ReadInt(ref (m_Contribute)); buff.ReadInt(ref (m_Honor)); buff.ReadInt(ref (m_FoundedMoney)); buff.ReadInt(ref (m_nIndustryLevel)); buff.ReadInt(ref (m_nAgrLevel)); buff.ReadInt(ref (m_nComLevel)); buff.ReadInt(ref (m_nDefLevel)); buff.ReadInt(ref (m_nTechLevel)); buff.ReadInt(ref (m_nAmbiLevel)); buff.ReadByte(ref m_bAccess); return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { m_szHumanName = new byte[GAMEDEFINE.MAX_CHARACTER_NAME]; m_szHumanGuildName = new byte[GAMEDEFINE.MAX_GUILD_NAME_SIZE]; m_szMessage = new byte[GAMEDEFINE.PET_PLACARD_ITEM_MESSAGE_SIZE]; if (buff.ReadUint(ref m_uCreateTime) != sizeof(uint)) { return(false); } if (buff.ReadUint(ref m_HumanGUID) != sizeof(short)) { return(false); } if (buff.Read(ref m_szHumanName, GAMEDEFINE.MAX_CHARACTER_NAME) != GAMEDEFINE.MAX_CHARACTER_NAME) { return(false); } if (buff.ReadInt(ref m_nHumanLevel) != sizeof(uint)) { return(false); } if (buff.Read(ref m_szHumanGuildName, GAMEDEFINE.MAX_GUILD_NAME_SIZE) != GAMEDEFINE.MAX_GUILD_NAME_SIZE) { return(false); } if (buff.ReadInt(ref m_nHumanMenPai) != sizeof(int)) { return(false); } if (!m_PetAttr.readFromBuff(ref buff)) { return(false); } if (buff.Read(ref m_szMessage, GAMEDEFINE.PET_PLACARD_ITEM_MESSAGE_SIZE) != GAMEDEFINE.PET_PLACARD_ITEM_MESSAGE_SIZE) { return(false); } return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadUint(ref m_ObjID) != sizeof(uint)) { return(false); } if (buff.ReadByte(ref m_wNumAbility) != sizeof(byte)) { return(false); } buff.Read(ref m_uAbilityIDList, m_wNumAbility); for (byte i = 0; i < m_wNumAbility; i++) { if (!m_aAbility[i].readFromBuff(ref buff)) { return(false); } } buff.Read(ref m_aPrescr, GAMEDEFINE.MAX_CHAR_PRESCRIPTION_BYTE); return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.Read(ref szAccount, NET_DEFINE.MAX_ACCOUNT) != NET_DEFINE.MAX_ACCOUNT) { return(false); } int temp = -1; if (buff.ReadInt(ref temp) != 4) { return(false); } Result = (NET_RESULT_DEFINE.LOGIN_RESULT)temp; return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadInt(ref Result) != 4) { return(false); } if (buff.ReadInt(ref LoginPort) != 4) { return(false); } if (buff.Read(ref LoginIP, NET_DEFINE.IP_SIZE) != NET_DEFINE.IP_SIZE) { return(false); } return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { buff.ReadByte(ref m_Return); buff.ReadUint(ref m_GUID); buff.ReadShort(ref m_TeamID); buff.ReadUint(ref m_GUIDEx); buff.ReadShort(ref m_SceneID); buff.ReadByte(ref m_NameSize); if (m_NameSize > 0) { buff.Read(ref m_Name, m_NameSize); } buff.ReadInt(ref m_nPortrait); buff.ReadShort(ref m_uDataID); return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { int temp = -1; if (buff.ReadInt(ref temp) != sizeof(int)) { return(false); } result = (NET_RESULT_DEFINE.ASKCHARLOGIN_RESULT)temp; if (buff.ReadInt(ref serverPort) != sizeof(int)) { return(false); } if (buff.Read(ref serverIP, NET_DEFINE.IP_SIZE) != NET_DEFINE.IP_SIZE) { return(false); } if (buff.ReadInt(ref key) != sizeof(int)) { return(false); } return(true); }
public bool Read(ref NetInputBuffer iStream) { if (iStream.ReadShort(ref m_Size) != sizeof(short)) { return(false); } if (m_Size > 0) { byte[] byarrayTemp = new byte[m_Size]; if (iStream.Read(ref byarrayTemp, m_Size) == 0) { return(false); } m_szString = EncodeUtility.Instance.GetUnicodeString(byarrayTemp); } else { m_Size = 0; m_szString = ""; } return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { m_ItemGUID.readFromBuff(ref buff); buff.ReadUint(ref m_ItemIndex); buff.ReadByte(ref m_RulerID); buff.ReadByte(ref m_nsBind); buff.Read(ref m_Param, ItemDefine.MAX_ITEM_PARAM * sizeof(int)); if (GetCreatorVar()) { buff.Read(ref m_Creator, ItemDefine.MAX_ITEM_CREATOR_NAME); } if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_EQUIP) { if (m_Equip == null) { m_Equip = new EQUIP_INFO(); } buff.ReadByte(ref m_Equip.m_CurDurPoint); buff.ReadByte(ref m_Equip.m_CurSoulType); short damage = 0; buff.ReadShort(ref damage); m_Equip.m_CurDamagePoint = (ushort)damage; buff.ReadByte(ref m_Equip.m_MaxDurPoint); buff.ReadUint(ref m_Equip.m_BasePrice); buff.ReadByte(ref m_Equip.m_EquipPoint); buff.ReadByte(ref m_Equip.m_AttrCount); buff.ReadShort(ref m_Equip.m_SetNum); buff.ReadByte(ref m_Equip.m_MaxNum); if (m_Equip.m_AttrCount > GAMEDEFINE.MAX_ITEM_ATTR) { m_Equip.m_AttrCount = GAMEDEFINE.MAX_ITEM_ATTR; } for (int j = 0; j < m_Equip.m_AttrCount; j++) { m_Equip.m_pAttr[j].readFromBuff(ref buff); } buff.ReadByte(ref m_Equip.m_StoneCount); if (m_Equip.m_StoneCount > GAMEDEFINE.MAX_ITEM_GEM) { m_Equip.m_StoneCount = GAMEDEFINE.MAX_ITEM_GEM; } //镶嵌系统修改,必须接收MAX_ITEM_GEM个 [2011-9-28] by: cfp+ for (int j = 0; j < GAMEDEFINE.MAX_ITEM_GEM; j++) { m_Equip.m_pGemInfo[j].readFromBuff(ref buff); } buff.ReadByte(ref m_Equip.m_NeedLevel); buff.ReadByte(ref m_Equip.m_GemMax); buff.ReadByte(ref m_Equip.m_nDangCi); buff.ReadInt(ref m_Equip.m_nNextDangCiItemSN); buff.ReadByte(ref m_Equip.m_FaileTimes); buff.ReadByte(ref m_Equip.m_EquipEnhanceLevel); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_GEM) { if (m_Gem == null) { m_Gem = new GEM_INFO(); } m_Gem.readFromBuff(ref buff); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_COMITEM) { if (m_Medic == null) { m_Medic = new MEDIC_INFO(); } m_Medic.readFromBuff(ref buff); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_MATERIAL) { if (m_Medic == null) { m_Medic = new MEDIC_INFO(); } m_Medic.readFromBuff(ref buff); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_TASKITEM) { if (m_Medic == null) { m_Medic = new MEDIC_INFO(); } m_Medic.readFromBuff(ref buff); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_STOREMAP) { //iStream.Read((CHAR*)(GetStoreMapData()),sizeof(STORE_MAP_INFO)); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_TALISMAN) { if (m_Talisman == null) { m_Talisman = new TALISMAN_INFO(); } m_Talisman.readFromBuff(ref buff); } else if ((ITEM_CLASS)ItemClass() == ITEM_CLASS.ICLASS_SYMBOLITEM) { if (m_Charm == null) { m_Charm = new CHARM_INFO(); } m_Charm.readFromBuff(ref buff); } return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { buff.Read(ref szAccount, sizeof(byte) * NET_DEFINE.MAX_ACCOUNT); return(true); }
// 将byte流转换为包内容 public bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadInt(ref m_GUID) != sizeof(int)) { return(false); } if (buff.ReadByte(ref m_Sex) != sizeof(byte)) { return(false); } if (m_Name == null) { m_Name = new byte[NET_DEFINE.MAX_CHARACTER_NAME]; } if (buff.Read(ref m_Name, NET_DEFINE.MAX_CHARACTER_NAME) != NET_DEFINE.MAX_CHARACTER_NAME) { return(false); } //temp code 去除服务器发送的无用字节 int zeroIndex = -1; for (int i = 0; i < NET_DEFINE.MAX_CHARACTER_NAME; ++i) { if (m_Name[i] == 0) { zeroIndex = i; break; } } for (int i = zeroIndex; i < NET_DEFINE.MAX_CHARACTER_NAME; ++i) { m_Name[i] = 0; } //end temp code if (buff.ReadInt(ref m_Level) != sizeof(int)) { return(false); } if (buff.ReadByte(ref m_Ambit) != sizeof(byte)) { return(false); } int n = 0; if (buff.ReadInt(ref n) != sizeof(int)) { return(false); } m_HairColor = (uint)n; if (buff.ReadByte(ref m_FaceColor) != sizeof(byte)) { return(false); } if (buff.ReadByte(ref m_HairModel) != sizeof(byte)) { return(false); } if (buff.ReadByte(ref m_FaceModel) != sizeof(byte)) { return(false); } if (buff.ReadShort(ref m_StartScene) != sizeof(short)) { return(false); } if (buff.ReadShort(ref m_nClientResID) != sizeof(short)) { return(false); } if (buff.ReadInt(ref m_Menpai) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_HeadID) != sizeof(int)) { return(false); } if (buff.ReadShort(ref m_Camp) != sizeof(short)) { return(false); } if (m_EquipList == null) { m_EquipList = new uint[(int)HUMAN_EQUIP.HEQUIP_NUMBER]; } for (int i = 0; i < (int)HUMAN_EQUIP.HEQUIP_NUMBER; i++) { if (buff.ReadInt(ref n) != sizeof(int)) { return(false); } m_EquipList[i] = (uint)n; } return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { int n = -1; // LogManager.Log("Read LCRetCharList"); if (buff.ReadInt(ref n) != 4) { return(false); } result = (NET_RESULT_DEFINE.ASKCHARLIST_RESULT)n; if (Result == NET_RESULT_DEFINE.ASKCHARLIST_RESULT.ASKCHARLIST_SUCCESS) { buff.Read(ref szAccount, sizeof(byte) * NET_DEFINE.MAX_ACCOUNT); buff.ReadByte(ref uCharNumber); if (uCharNumber > NET_DEFINE.DB_CHAR_NUMBER) { uCharNumber = (byte)NET_DEFINE.DB_CHAR_NUMBER; } if (CharList == null) { CharList = new DB_CHAR_BASE_INFO[uCharNumber]; } for (int i = 0; i < uCharNumber; i++) { //int size = Marshal.SizeOf(typeof(DB_CHAR_BASE_INFO)); //byte[] bytes = new byte[size]; //buff.Read(ref bytes, size); //CharList[i] = (DB_CHAR_BASE_INFO)NET_DEFINE.BytesToStruct(bytes, typeof(DB_CHAR_BASE_INFO)); CharList[i].readFromBuff(ref buff); //CharList[i] = (DB_CHAR_BASE_INFO)buff.ReadStruct(typeof(DB_CHAR_BASE_INFO) ); //LogManager.Log("DBINFO size=" + size); // LogManager.Log(" m_GUID:"+BitConverter.ToString( BitConverter.GetBytes(CharList[i].m_GUID) ) // +" ,m_Sex:"+BitConverter.ToString( BitConverter.GetBytes(CharList[i].m_Sex) ) // ); // // string temp = string.Empty; // for(int j=0; j< CharList[i].m_Name.Length ;j++ ){ // // temp += BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_Name[j] ) ); // } // LogManager.Log(" ,name:"+ temp ); // LogManager.Log("m_Level:"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_Level ) ) // +",m_Ambit"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_Ambit ) ) // +",m_HairColor"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_HairColor ) ) // +",m_FaceColor"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_FaceColor ) ) // +",m_HairModel"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_HairModel ) ) // +",m_FaceModel"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_FaceModel ) ) // +" ,m_StartScene:"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_StartScene ) ) // +",m_nClientResID"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_nClientResID ) ) // +",m_Menpai"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_Menpai ) ) // +",m_HeadID"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_HeadID ) ) // +" ,m_Camp:"+BitConverter.ToString( BitConverter.GetBytes( CharList[i].m_Camp ) ) // ); // //LogManager.Log(" m_GUID:" + CharList[i].m_GUID // + " ,m_Sex:" + CharList[i].m_Sex // + " ,name:" + Encoding.ASCII.GetString(CharList[i].m_Name) // ); //LogManager.Log("m_Level:" + CharList[i].m_Level // + ",m_Ambit" + CharList[i].m_Ambit // + ",m_HairColor" + CharList[i].m_HairColor // + ",m_FaceColor" + CharList[i].m_FaceColor // + ",m_HairModel" + CharList[i].m_HairModel // + ",m_FaceModel" + CharList[i].m_FaceModel // + " ,m_StartScene:" + CharList[i].m_StartScene // + ",m_nClientResID" + CharList[i].m_nClientResID // + ",m_Menpai" + CharList[i].m_Menpai // + ",m_HeadID" + CharList[i].m_HeadID // + " ,m_Camp:" + CharList[i].m_Camp // ); } } return(true); }
//公用继承接口 public override bool readFromBuff(ref NetInputBuffer buff) { if (buff.ReadInt(ref m_ObjID) != sizeof(int)) { return(false); } int n = 0; if (buff.ReadInt(ref n) != sizeof(int)) { return(false); } m_uFlags = (uint)n; if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_DATA_ID)) != 0) { if (buff.ReadShort(ref m_wDataID) != sizeof(short)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_NAME)) != 0) { if (buff.ReadByte(ref m_byNameSize) != sizeof(byte)) { return(false); } if (buff.Read(ref m_szName, sizeof(byte) * m_byNameSize) != m_byNameSize) { return(false); } m_szName[m_byNameSize] = 0; } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_TITLE)) != 0) { if (buff.ReadByte(ref m_TitleType) != sizeof(byte)) { return(false); } if (buff.ReadByte(ref m_byTitleSize) != sizeof(byte)) { return(false); } if (buff.Read(ref m_szTitle, m_byTitleSize) != m_byTitleSize) { return(false); } m_szTitle[m_byTitleSize] = 0; } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_LEVEL)) != 0) { if (buff.ReadByte(ref m_Level) != sizeof(byte)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_HP_PERCENT)) != 0) { if (buff.ReadByte(ref m_HPPercent) != sizeof(byte)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_MP_PERCENT)) != 0) { if (buff.ReadByte(ref m_MPPercent) != sizeof(byte)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_RAGE)) != 0) { if (buff.ReadInt(ref m_nRage) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_STEALTH_LEVEL)) != 0) { if (buff.ReadInt(ref m_nStealthLevel) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_SIT)) != 0) { if (buff.ReadByte(ref m_cMoodState) != sizeof(byte)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_MOVE_SPEED)) != 0) { buff.ReadFloat(ref m_fMoveSpeed); } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_ATTACK_SPEED)) != 0) { buff.ReadFloat(ref m_fAttackSpeed); } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_CAMP_ID)) != 0) { // int size = Marshal.SizeOf(m_CampData); // byte[] bytes = new byte[size]; // if (buff.Read(ref bytes, size) != size) return false; // m_CampData = (_CAMP_DATA)NET_DEFINE.BytesToStruct(bytes, typeof(_CAMP_DATA)); // LogManager.Log("CharBase: obj=" + m_ObjID + " Flag=" + m_uFlags + " size=" + size); //object camp = buff.ReadStruct(typeof(_CAMP_DATA)); //if (camp == null) return false; //m_CampData = (_CAMP_DATA)camp; m_CampData.readFromBuff(ref buff); } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_PORTRAIT_ID)) != 0) { if (buff.ReadInt(ref m_nPortraitID) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_MODEL_ID)) != 0) { if (buff.ReadInt(ref m_nModelID) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_MOUNT_ID)) != 0) { if (buff.ReadInt(ref m_nMountID) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_AITYPE)) != 0) { if (buff.ReadInt(ref m_nAIType) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ATT_PLAYER_DATA)) != 0) { if (buff.ReadInt(ref m_uPlayerData) != sizeof(int)) { return(false); } if (buff.ReadUint(ref m_HairColor) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_IS_IN_STALL)) != 0) { if (buff.ReadByte(ref m_bStallIsOpen) != sizeof(byte)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_STALL_NAME)) != 0) { if (buff.ReadByte(ref m_nStallNameSize) != sizeof(byte)) { return(false); } //Assert(m_nStallNameSize < MAX_STALL_NAME); if (buff.Read(ref m_szStallName, m_nStallNameSize) != m_nStallNameSize) { return(false); } m_szStallName[m_nStallNameSize] = 0; } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_OCCUPANT)) != 0) { if (buff.ReadInt(ref m_OccupantGUID) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_OWNER)) != 0) { if (buff.ReadInt(ref m_OwnerID) != sizeof(int)) { return(false); } } if ((m_uFlags & (1 << (int)ENUM_UPDATE_CHAR_ATT.UPDATE_CHAR_ISNPC)) != 0) { if (buff.ReadByte(ref m_IsNPC) != sizeof(byte)) { return(false); } } return(true); }
public bool readFromBuff(ref NetInputBuffer buff) { m_szName = new byte[GAMEDEFINE.MAX_CHARACTER_NAME]; m_aSkill = new _OWN_SKILL[GAMEDEFINE.MAX_PET_SKILL_COUNT]; if (!m_GUID.readFromBuff(ref buff)) { return(false); } if (buff.ReadInt(ref m_ObjID) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nDataID) != sizeof(int)) { return(false); } if (buff.Read(ref m_szName, GAMEDEFINE.MAX_CHARACTER_NAME) != GAMEDEFINE.MAX_CHARACTER_NAME) { return(false); } if (buff.ReadInt(ref m_nAIType) != sizeof(int)) { return(false); } if (!m_SpouseGUID.readFromBuff(ref buff)) { return(false); } if (buff.ReadInt(ref m_nLevel) != sizeof(int)) { return(false); // 等级 } if (buff.ReadInt(ref m_nExp) != sizeof(int)) { return(false); // 经验 } if (buff.ReadInt(ref m_nHP) != sizeof(int)) { return(false); // 血当前值 } if (buff.ReadInt(ref m_nHPMax) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nLife) != sizeof(int)) { return(false); } if (buff.ReadByte(ref m_byGeneration) != sizeof(byte)) { return(false); } if (buff.ReadByte(ref m_byHappiness) != sizeof(byte)) { return(false); } if (buff.ReadInt(ref m_nAtt_Physics) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nAtt_Magic) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nDef_Physics) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nDef_Magic) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nHit) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nMiss) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nCritical) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nModelID) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nMountID) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_StrPerception) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_ConPerception) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_DexPerception) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_SprPerception) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_IntPerception) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_Str) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_Con) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_Dex) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_Spr) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_Int) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_GenGu) != sizeof(int)) { return(false); } if (buff.ReadInt(ref m_nRemainPoint) != sizeof(int)) { return(false); } for (int i = 0; i < GAMEDEFINE.MAX_PET_SKILL_COUNT; i++) { if (!m_aSkill[i].readFromBuff(ref buff)) { return(false); } } return(true); }
public override bool readFromBuff(ref NetInputBuffer buff) { m_GUID.readFromBuff(ref buff); buff.ReadInt(ref m_nTradeIndex); buff.ReadUint(ref m_uLowFlags); buff.ReadUint(ref m_uHighFlags); if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_OBJ_ID)) { buff.ReadUint(ref m_ObjID); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_DATA_ID)) { buff.ReadInt(ref m_nDataID); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_NAME)) { buff.ReadByte(ref m_byNameSize); buff.Read(ref m_szName, m_byNameSize); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_AI_TYPE)) { buff.ReadInt(ref m_nAIType); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SPOUSE_GUID)) { m_SpouseGUID.readFromBuff(ref buff); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_LEVEL)) { buff.ReadInt(ref m_nLevel); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_EXP)) { buff.ReadInt(ref m_nExp); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_HP)) { buff.ReadInt(ref m_nHP); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_HPMAX)) { buff.ReadInt(ref m_nHPMax); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_LIFE)) { buff.ReadInt(ref m_nLife); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_GENERATION)) { buff.ReadByte(ref m_byGeneration); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_HAPPINESS)) { buff.ReadByte(ref m_byHappiness); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_ATT_PHYSICS)) { buff.ReadInt(ref m_nAtt_Physics); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_ATT_MAGIC)) { buff.ReadInt(ref m_nAtt_Magic); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_DEF_PHYSICS)) { buff.ReadInt(ref m_nDef_Physics); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_DEF_MAGIC)) { buff.ReadInt(ref m_nDef_Magic); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_HIT)) { buff.ReadInt(ref m_nHit); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_MISS)) { buff.ReadInt(ref m_nMiss); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_CRITICAL)) { buff.ReadInt(ref m_nCritical); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_DEF_CRITICAL)) { buff.ReadInt(ref m_nDefCritical); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_MODELID)) { buff.ReadInt(ref m_nModelID); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_MOUNTID)) { buff.ReadInt(ref m_nMountID); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_STRPERCEPTION)) { buff.ReadInt(ref m_StrPerception); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_CONPERCEPTION)) { buff.ReadInt(ref m_ConPerception); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_DEXPERCEPTION)) { buff.ReadInt(ref m_DexPerception); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SPRPERCEPTION)) { buff.ReadInt(ref m_SprPerception); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_INTPERCEPTION)) { buff.ReadInt(ref m_IntPerception); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_STR)) { buff.ReadInt(ref m_Str); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_CON)) { buff.ReadInt(ref m_Con); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_DEX)) { buff.ReadInt(ref m_Dex); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SPR)) { buff.ReadInt(ref m_Spr); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_INT)) { buff.ReadInt(ref m_Int); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_GENGU)) { buff.ReadInt(ref m_GenGu); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_RANDOM_STR)) { buff.ReadInt(ref m_StrBring); // 力量 } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_RANDOM_CON)) { buff.ReadInt(ref m_ConBring); // 体力 } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_RANDOM_DEX)) { buff.ReadInt(ref m_DexBring); // 身法 } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_RANDOM_SPR)) { buff.ReadInt(ref m_SprBring); // 灵气 } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_RANDOM_INT)) { buff.ReadInt(ref m_IntBring); // 定力 } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_POINT_REMAIN)) { buff.ReadInt(ref m_nRemainPoint); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SKILL_0)) { m_aSkill[0].readFromBuff(ref buff); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SKILL_1)) { m_aSkill[1].readFromBuff(ref buff); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SKILL_2)) { m_aSkill[2].readFromBuff(ref buff); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SKILL_3)) { m_aSkill[3].readFromBuff(ref buff); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SKILL_4)) { m_aSkill[4].readFromBuff(ref buff); } if (IsSetBit(ENUM_PET_DETAIL_ATTR.PET_DETAIL_ATTR_SKILL_5)) { m_aSkill[5].readFromBuff(ref buff); } buff.ReadByte(ref m_ExtraInfoLength); buff.Read(ref m_ExtraInfoData, m_ExtraInfoLength); return(true); }