public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadByte(ref m_index) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_bSet) != sizeof(int))
     {
         return(false);
     }
     return(true);
 }
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadInt(ref m_nHandleID);
            buff.ReadInt(ref m_nResult);
            buff.ReadByte(ref m_yNumTargetPos);
            for (byte i = 0; i < m_yNumTargetPos; i++)
            {
                m_aTargetPos[i].readFromBuff(ref buff);
            }

            return(true);
        }
示例#3
0
 public bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadByte(ref m_nIndex) != sizeof(byte))
     {
         return(false);
     }
     if (!m_nItemData.readFromBuff(ref buff))
     {
         return(false);
     }
     return(true);
 }
示例#4
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadByte(ref m_ToType) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadByte(ref m_FromType) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadByte(ref m_indexFrom) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadByte(ref m_indexTo) != sizeof(byte))
            {
                return(false);
            }

            return(true);
        }
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     // 包内容
     if (buff.ReadByte(ref m_Result) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_BagIndex) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_Opt) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadUint(ref m_ItemTableIndex) != sizeof(uint))
     {
         return(false);
     }
     return(true);
 }
示例#6
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     // 包内容
     if (buff.ReadUint(ref m_ObjID) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_LeaveType) != sizeof(byte))
     {
         return(false);
     }
     return(true);
 }
        //公用继承接口
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadByte(ref m_byRet) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadShort(ref m_nSceneID) != sizeof(short))
            {
                return(false);
            }
            //int size = Marshal.SizeOf(typeof(WORLD_POS));
            //byte[] bytes = new byte[size];
            //if (buff.Read(ref bytes, size) != size) return false;
            //m_posWorld = (WORLD_POS)NET_DEFINE.BytesToStruct(bytes, typeof(WORLD_POS));

            if (!m_posWorld.readFromBuff(ref buff))
            {
                return(false);
            }
            if (buff.ReadInt(ref m_ObjID) != sizeof(int))
            {
                return(false);
            }
            if (buff.ReadByte(ref m_bIsCity) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadByte(ref m_nCityLevel) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadShort(ref m_nResID) != sizeof(short))
            {
                return(false);
            }


            return(true);
        }
示例#8
0
 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 Read(ref NetInputBuffer iStream)
    {
        if (iStream.ReadByte(ref m_yItemCount) != sizeof(byte))
        {
            return(false);
        }

        for (byte i = 0; i < m_yItemCount; i++)
        {
            if (!m_aTradeItem[i].Read(ref iStream))
            {
                return(false);
            }
        }

        if (iStream.ReadByte(ref m_bRepair) != sizeof(byte))
        {
            return(false);
        }

        return(true);
    }
示例#10
0
        //公用继承接口
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadByte(ref m_byEnterType) != sizeof(byte))
            {
                return(false);
            }
            if (buff.ReadShort(ref m_nSceneID) != sizeof(short))
            {
                return(false);
            }

            return(m_posWorld.readFromBuff(ref buff));
        }
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     for (int i = 0; i < ITEM_MAX_NUM; i++)
     {
         if (buff.ReadByte(ref m_ItemIndexList[i]) != sizeof(byte))
         {
             return(false);
         }
     }
     if (buff.ReadByte(ref m_PetIndex) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadUint(ref m_idNPC) != sizeof(uint))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_idScript) != sizeof(int))
     {
         return(false);
     }
     return(true);
 }
    public bool Read(ref NetInputBuffer iStream)
    {
        if (iStream.ReadByte(ref m_yCount) != sizeof(byte))
        {
            return(false);
        }

        if (iStream.ReadUint(ref m_uNPCID) != sizeof(uint))
        {
            return(false);
        }

        return(true);
    }
示例#13
0
        //公用继承接口
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadByte(ref m_nTeamCount);
            for (byte i = 0; i < m_nTeamCount; i++)
            {
                if (recruitInfo[i] == null)
                {
                    recruitInfo[i] = new RECRUIT_INFO();
                }
                recruitInfo[i].readFromBuff(ref buff);
            }

            return(true);
        }
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadByte(ref m_Type) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_Result) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_EquipBagIndex) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_BagIndex) != sizeof(byte))
     {
         return(false);
     }
     if (!m_PetGUID.readFromBuff(ref buff))
     {
         return(false);
     }
     return(true);
 }
示例#15
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadUint(ref m_ObjID);
            buff.ReadUint(ref m_uStartTime);
            buff.ReadInt(ref m_nHandleID);
            m_posTarget.readFromBuff(ref buff);
            buff.ReadByte(ref m_byStopMove);
            if (IsHaveStopInfo())
            {
                PosStop.readFromBuff(ref buff);
                buff.ReadInt(ref m_nStopLogicCount);
            }

            return(true);
        }
示例#16
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadByte(ref m_yItemCount) != sizeof(byte))
            {
                return(false);
            }
            for (int i = 0; i < m_yItemCount; i++)
            {
                if (buff.ReadUint(ref m_aCanPickMissionItemList[i]) != sizeof(uint))
                {
                    return(false);
                }
            }

            return(true);
        }
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadUint(ref m_idNPC) != sizeof(uint))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_idScript) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadByte(ref ucIgnoreStop) != sizeof(byte))
     {
         return(false);
     }
     return(true);
 }
示例#18
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadByte(ref m_Save) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_Amount) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_AmountRMB) != sizeof(int))
     {
         return(false);
     }
     return(true);
 }
示例#19
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            int bMode = 0;
            buff.ReadInt(ref bMode);
            m_Mode = (ASK_BAG_MODE)bMode;

            buff.ReadByte(ref m_AskCount);
            if (AskCount > GAMEDEFINE.MAX_BAG_SIZE)
            {
                AskCount = GAMEDEFINE.MAX_BAG_SIZE;
            }
            for (int i = 0; i < AskCount; i++)
            {
                m_ItemData[i].readFromBuff(ref buff);
            }
            return true;
        }
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            // 包内容
            int result = 0;

            if (buff.ReadInt(ref result) != sizeof(int))
            {
                return(false);
            }
            m_Result = (ATTR_RESUlT)result;
            m_Attr.readFromBuff(ref buff);
            if (buff.ReadByte(ref m_Index) != sizeof(byte))
            {
                return(false);
            }
            return(true);
        }
示例#21
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadUint(ref m_ObjID);
            buff.ReadInt(ref m_nHandleID);
            PosWorld.readFromBuff(ref buff);
            buff.ReadByte(ref m_yNumTargetPos);

            if (m_yNumTargetPos > 0 && m_yNumTargetPos <= GAMEDEFINE.MAX_CHAR_PATH_NODE_NUMBER)
            {
                for (int i = 0; i < m_yNumTargetPos; i++)
                {
                    m_aTargetPos[i].readFromBuff(ref buff);
                }
            }

            return(true);
        }
示例#22
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadUint(ref m_ItemBoxID);
            buff.ReadByte(ref m_ItemNumber);
            buff.ReadUShort(ref m_ItemBoxType);
            if (m_ItemNumber > GAMEDEFINE.MAX_BOXITEM_NUMBER)
            {
                m_ItemNumber = GAMEDEFINE.MAX_BOXITEM_NUMBER;
            }

            for (int i = 0; i < m_ItemNumber; i++)
            {
                m_ItemList[i] = new _ITEM();
                m_ItemList[i].readFromBuff(ref buff);
            }
            return(true);
        }
 public bool Read(ref NetInputBuffer iStream)
 {
     if (iStream.ReadByte(ref m_yStudyCount) != sizeof(byte))
     {
         return(false);
     }
     for (byte i = 0; i < m_yStudyCount; i++)
     {
         if (!m_aSkillItem[i].Read(ref iStream))
         {
             return(false);
         }
     }
     if (iStream.ReadInt(ref m_nReserve) != sizeof(int))
     {
         return(false);
     }
     return(true);
 }
示例#24
0
    // 将byte流转换为包内容
    public bool readFromBuff(ref NetInputBuffer buff)
    {
        if (buff.ReadShort(ref m_nCampID) != sizeof(short))
        {
            return(false);
        }
        if (buff.ReadByte(ref m_nPKModeID) != sizeof(byte))
        {
            return(false);
        }
        if (buff.ReadUint(ref m_uActiveFlags) != sizeof(uint))
        {
            return(false);
        }
        if (buff.ReadUint(ref m_uRelationFlags) != sizeof(uint))
        {
            return(false);
        }

        return(true);
    }
    public bool Read(ref NetInputBuffer iStream)
    {
        if (iStream.ReadUint(ref m_idNPC) != sizeof(uint))
        {
            return(false);
        }
        if (iStream.ReadByte(ref m_yItemCount) != sizeof(byte))
        {
            return(false);
        }
        for (byte i = 0; i < m_yItemCount; i++)
        {
            m_seiItem[i] = new ScriptEventItem();
            if (!m_seiItem[i].Read(ref iStream))
            {
                return(false);
            }
        }

        return(true);
    }
示例#26
0
 public bool readFromBuff(ref NetInputBuffer buff)
 {
     buff.ReadByte(ref m_nCount);
     buff.ReadByte(ref m_nLevel);
     buff.ReadByte(ref m_nLayedNum);
     buff.ReadByte(ref m_nReqSkillLevel);
     buff.ReadShort(ref m_nCurPinJiValue);
     buff.ReadUint(ref m_nBasePrice);
     buff.ReadInt(ref m_nScriptID);
     buff.ReadInt(ref m_nSkillID);
     buff.ReadInt(ref m_bCosSelf);
     buff.ReadInt(ref m_nReqSkill);
     buff.ReadByte(ref m_TargetType);
     buff.ReadByte(ref m_nGrade);
     buff.ReadInt(ref m_nRecipeId);
     return(true);
 }
示例#27
0
        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.ReadInt(ref m_nMissionIndex) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_nMissionName) != sizeof(byte))
     {
         return(false);
     }
     for (int i = 0; i < 260; i++)
     {
         if (buff.ReadByte(ref m_szMissionName[i]) != sizeof(byte))
         {
             return(false);
         }
     }
     if (buff.ReadByte(ref m_nMissionTarget) != sizeof(byte))
     {
         return(false);
     }
     for (int i = 0; i < 260; i++)
     {
         if (buff.ReadByte(ref m_szMissionTarget[i]) != sizeof(byte))
         {
             return(false);
         }
     }
     if (buff.ReadByte(ref m_nMissionDesc) != sizeof(byte))
     {
         return(false);
     }
     for (int i = 0; i < 260; i++)
     {
         if (buff.ReadByte(ref m_szMissionDesc[i]) != sizeof(byte))
         {
             return(false);
         }
     }
     return(true);
 }
示例#29
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadUint(ref m_nObjID);
            buff.ReadByte(ref m_nShopType);
            buff.ReadByte(ref m_nMerchadiseNum);
            buff.ReadInt(ref m_nRepairLevel);
            buff.ReadInt(ref m_nBuyLevel);
            buff.ReadInt(ref m_nRepairType);
            buff.ReadInt(ref m_nBuyType);
            buff.ReadFloat(ref m_nRepairSpend);
            buff.ReadFloat(ref m_nRepairOkProb);
            buff.ReadUint(ref m_UniqueID);
            buff.ReadByte(ref m_bBuyBack);
            buff.ReadFloat(ref m_fScale);
            buff.ReadByte(ref m_uCurrencyUnit);
            buff.ReadByte(ref m_uSerialNum);
            buff.ReadByte(ref m_bCanBuyMulti);
            for (int i = 0; i < m_nMerchadiseNum; i++)
            {
                m_MerchadiseList[i].readFromBuff(ref buff);
            }

            return(true);
        }
示例#30
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadUint(ref m_ObjID) != sizeof(int))
            {
                return(false);
            }

            buff.ReadUint(ref m_uLowFlags);
            buff.ReadUint(ref m_uHighFlags);

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_LEVEL))
            {
                buff.ReadUint(ref m_uLevel);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_AMBIT)) //角色境界 [2011-8-10] by: cfp+
            {
                buff.ReadByte(ref m_ucAmbit);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HP))
            {
                buff.ReadInt(ref m_nHP);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MP))
            {
                buff.ReadInt(ref m_nMP);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAXHP))
            {
                buff.ReadInt(ref m_nMAXHP);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAXMP))
            {
                buff.ReadInt(ref m_nMAXMP);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MOVESPEED))
            {
                buff.ReadFloat(ref m_fMoveSpeed);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_EXP))
            {
                buff.ReadInt(ref m_nExp);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MONEY))
            {
                buff.ReadInt(ref m_uMoney);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_STR))
            {
                buff.ReadInt(ref m_Str);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_SPR))
            {
                buff.ReadInt(ref m_Spr);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CON))
            {
                buff.ReadInt(ref m_Con);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_INT))
            {
                buff.ReadInt(ref m_Int);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEX))
            {
                buff.ReadInt(ref m_Dex);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_STR_RANDOM_POINT))                                     //力量 力量
            {
                buff.ReadInt(ref m_StrRandomPoint);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_SPR_RANDOM_POINT))                                     //灵气 灵力
            {
                buff.ReadInt(ref m_SprRandomPoint);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CON_RANDOM_POINT))                                     //体制 体制
            {
                buff.ReadInt(ref m_ConRandomPoint);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_INT_RANDOM_POINT))                                     //定力 智力
            {
                buff.ReadInt(ref m_IntRandomPoint);
            }
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEX_RANDOM_POINT))                                     //身法 敏捷
            {
                buff.ReadInt(ref m_DexRandomPoint);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_POINT_REMAIN))
            {
                buff.ReadInt(ref m_nPoint_Remain);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HP_RESPEED))
            {
                buff.ReadInt(ref m_nHP_ReSpeed);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MP_RESPEED))
            {
                buff.ReadInt(ref m_nMP_ReSpeed);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATT_PHYSICS))
            {
                buff.ReadInt(ref m_nAtt_Physics);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATT_MAGIC))
            {
                buff.ReadInt(ref m_nAtt_Magic);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEF_PHYSICS))
            {
                buff.ReadInt(ref m_nDef_Physics);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEF_MAGIC))
            {
                buff.ReadInt(ref m_nDef_Magic);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HIT))
            {
                buff.ReadInt(ref m_nHit);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MISS))
            {
                buff.ReadInt(ref m_nMiss);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CRITRATE))
            {
                buff.ReadInt(ref m_nCritic);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCE_C))   //抗暴率 2011-11-16 ZL+
            {
                buff.ReadInt(ref m_nDefenceCritic);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_RAGE))
            {
                buff.ReadInt(ref m_nRage);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_STRIKE_POINT))
            {
                buff.ReadInt(ref m_nStrikePoint);
            }


            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATTACKSPEED))
            {
                buff.ReadInt(ref m_nAttackSpeed);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATTACKCOLD))
            {
                buff.ReadInt(ref m_nAttCold);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCECOLD))
            {
                buff.ReadInt(ref m_nDefCold);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATTACKFIRE))
            {
                buff.ReadInt(ref m_nAttFire);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCEFIRE))
            {
                buff.ReadInt(ref m_nDefFire);
            }


            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATTACKLIGHT))
            {
                buff.ReadInt(ref m_nAttLight);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCELIGHT))
            {
                buff.ReadInt(ref m_nDefLight);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATTACKPOISON))
            {
                buff.ReadInt(ref m_nAttPoison);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCEPOISON))
            {
                buff.ReadInt(ref m_nDefPoison);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATTACKEARTH))
            {
                buff.ReadInt(ref m_nAttEarth);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCEEARTH))
            {
                buff.ReadInt(ref m_nDefEarth);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MENPAI))
            {
                buff.ReadInt(ref m_nMenPai);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_GUILD))
            {
                buff.ReadInt(ref m_nGuild);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CAMP))
            {
                m_CampData.readFromBuff(ref buff);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DATAID))
            {
                buff.ReadInt(ref m_nDataID);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_PORTRAITID))
            {
                buff.ReadInt(ref m_nPortraitID);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MODELID))
            {
                buff.ReadInt(ref m_nModelID);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MOUNTID))
            {
                buff.ReadInt(ref m_nMountID);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CURRENT_PET_GUID))
            {
                for (int i = 0; i < GAMEDEFINE.MAX_CURRENT_PET; i++)
                {
                    m_guidCurrentPet[i].readFromBuff(ref buff);
                }
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_LIMIT_MOVE))
            {
                buff.ReadByte(ref m_bLimitMove);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CAN_ACTION1))
            {
                buff.ReadByte(ref m_bCanActionFlag1);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CAN_ACTION2))
            {
                buff.ReadByte(ref m_bCanActionFlag2);
            }

            //{----------------------------------------------------------------------------
            // [2010-12-1] by: cfp+ 活力and精力
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_VIGOR))
            {
                buff.ReadInt(ref m_Vigor);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAX_VIGOR))
            {
                buff.ReadInt(ref m_MaxVigor);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ENERGY))
            {
                buff.ReadInt(ref m_Energy);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAX_ENERGY))
            {
                buff.ReadInt(ref m_MaxEnergy);
            }
            //----------------------------------------------------------------------------}

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_RMB))
            {
                buff.ReadInt(ref m_RMBMoney);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_BANK_RMB))
            {
                buff.ReadInt(ref m_BankMoney);
            }

            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DOUBLEEXPTIME))
            {
                buff.ReadInt(ref m_DoubleExpTime_Num);
            }

            //新手引导掩码 [2011-8-10] by: cfp+
            if (IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HELPMASK))
            {
                buff.ReadUint(ref m_uHelpMask);
            }

            return(true);
        }