Esempio n. 1
0
        //公用继承接口
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadInt(ref m_ObjID) != sizeof(int))
            {
                return(false);
            }


            if (!m_posWorld.readFromBuff(ref buff))
            {
                return(false);
            }


            if (buff.ReadFloat(ref m_fDir) != sizeof(float))
            {
                return(false);
            }

            if (buff.ReadFloat(ref m_fMoveSpeed) != sizeof(float))
            {
                return(false);
            }

            if (buff.ReadByte(ref m_IsNPC) != sizeof(byte))
            {
                return(false);
            }

            return(true);
        }
Esempio n. 2
0
        //公用继承接口
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadInt(ref m_ObjID) != sizeof(int))
            {
                return(false);
            }


            if (!m_posWorld.readFromBuff(ref buff))
            {
                return(false);
            }


            if (buff.ReadFloat(ref m_fDir) != sizeof(float))
            {
                return(false);
            }

            short equipVer = 0;

            if (buff.ReadShort(ref equipVer) != sizeof(short))
            {
                return(false);
            }
            m_wEquipVer = (ushort)EquipVer;
            if (buff.ReadFloat(ref m_fMoveSpeed) != sizeof(float))
            {
                return(false);
            }


            return(true);
        }
Esempio n. 3
0
 //公用继承接口
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     buff.ReadUint(ref m_ObjID);
     m_posWorld.readFromBuff(ref buff);
     buff.ReadFloat(ref m_fDir);
     buff.ReadFloat(ref m_fMoveSpeed);
     return(true);
 }
Esempio n. 4
0
    public bool readFromBuff(ref NetInputBuffer buff)
    {
        if (buff.ReadFloat(ref m_fX) != sizeof(float))
        {
            return(false);
        }
        if (buff.ReadFloat(ref m_fZ) != sizeof(float))
        {
            return(false);
        }

        return(true);
    }
Esempio n. 5
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadInt(ref m_ObjID) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_SkillDataID) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_guidTarget) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_TargetID) != sizeof(int))
     {
         return(false);
     }
     if (!m_posTarget.readFromBuff(ref buff))
     {
         return(false);
     }
     if (buff.ReadFloat(ref m_fDir) != sizeof(float))
     {
         return(false);
     }
     return(true);
 }
Esempio n. 6
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     buff.ReadUint(ref m_ObjID);
     m_posWorld.readFromBuff(ref buff);
     m_posTarget.readFromBuff(ref buff);
     buff.ReadFloat(ref m_fTargetHeight);
     return(true);
 }
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            buff.ReadUint(ref m_ObjID);
            buff.ReadInt(ref m_nDataID);
            m_posWorld.readFromBuff(ref buff);
            buff.ReadFloat(ref m_fDir);
            m_posTarget.readFromBuff(ref buff);
            buff.ReadFloat(ref m_fTargetHeight);
            buff.ReadInt(ref m_nPassengerCount);
            if (m_nPassengerCount > 0 && m_nPassengerCount <= GameStruct_Bus.DEF_BUS_MAX_PASSENGER_COUNT)
            {
                for (int i = 0; i < m_nPassengerCount; i++)
                {
                    buff.ReadUint(ref m_anPassengerIDs[i]);
                }
            }

            return(true);
        }
Esempio n. 8
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     buff.ReadUint(ref m_ObjID);
     buff.ReadInt(ref m_nHandleID);
     m_posWorld.readFromBuff(ref buff);
     buff.ReadFloat(ref m_fMoveSpeed);
     m_posTarget.readFromBuff(ref buff);
     buff.ReadByte(ref m_IsNPC);
     return(true);
 }
Esempio n. 9
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadByte(ref m_nDataType) != sizeof(byte))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_nObjID) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_nLogicCount) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadShort(ref m_nSkillOrSpecialObjDataID) != sizeof(short))
     {
         return(false);
     }
     if (!m_posUser.readFromBuff(ref buff))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_nTargetID) != sizeof(int))
     {
         return(false);
     }
     if (!m_posTarget.readFromBuff(ref buff))
     {
         return(false);
     }
     if (buff.ReadFloat(ref m_fDir) != sizeof(float))
     {
         return(false);
     }
     if (buff.ReadByte(ref m_nTargetNum) != sizeof(byte))
     {
         return(false);
     }
     byte[] val = m_HitFlagList.GetFlags();
     for (uint i = 0; i < m_HitFlagList.GetByteSize(); i++)
     {
         if (buff.ReadByte(ref val[i]) != sizeof(byte))
         {
             return(false);
         }
     }
     for (byte i = 0; i < m_nTargetNum; i++)
     {
         if (buff.ReadInt(ref m_aTargetList[i]) != sizeof(int))
         {
             return(false);
         }
     }
     return(true);
 }
Esempio n. 10
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);
        }
Esempio n. 11
0
        public override bool readFromBuff(ref NetInputBuffer buff)
        {
            if (buff.ReadInt(ref m_ObjID) != sizeof(int))
            {
                return(false);
            }
            if (!m_posWorld.readFromBuff(ref buff))
            {
                return(false);
            }
            if (buff.ReadFloat(ref m_Dir) != sizeof(float))
            {
                return(false);
            }
            if (buff.ReadInt(ref m_nDataID) != sizeof(int))
            {
                return(false);
            }

            return(true);
        }
Esempio n. 12
0
 public override bool readFromBuff(ref NetInputBuffer buff)
 {
     if (buff.ReadInt(ref m_ObjID) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_nLogicCount) != sizeof(int))
     {
         return(false);
     }
     if (buff.ReadShort(ref m_SkillDataID) != sizeof(short))
     {
         return(false);
     }
     if (!m_posUser.readFromBuff(ref buff))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_TargetID) != sizeof(int))
     {
         return(false);
     }
     if (!m_posTarget.readFromBuff(ref buff))
     {
         return(false);
     }
     if (buff.ReadFloat(ref m_fDir) != sizeof(float))
     {
         return(false);
     }
     if (buff.ReadInt(ref m_nTotalTime) != sizeof(int))
     {
         return(false);
     }
     return(true);
 }
Esempio n. 13
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);
        }
Esempio n. 14
0
        //公用继承接口
        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);
        }