Exemple #1
0
        public List <string> packedItems = new List <string>(); // Display purposes

        public static CACQualities read(BinaryReader binaryReader)
        {
            CACQualities newObj = new CACQualities();

            newObj.CBaseQualities = CBaseQualities.read(binaryReader);
            newObj.header         = binaryReader.ReadUInt32();
            newObj._weenie_type   = (WeenieType)binaryReader.ReadUInt32();
            if ((newObj.header & (uint)QualitiesPackHeader.Packed_AttributeCache) != 0)
            {
                newObj._attribCache = AttributeCache.read(binaryReader);
                newObj.packedItems.Add(QualitiesPackHeader.Packed_AttributeCache.ToString());
            }
            if ((newObj.header & (uint)QualitiesPackHeader.Packed_SkillHashTable) != 0)
            {
                newObj._skillStatsTable = PackableHashTable <STypeSkill, Skill> .read(binaryReader);

                newObj.packedItems.Add(QualitiesPackHeader.Packed_SkillHashTable.ToString());
            }
            if ((newObj.header & (uint)QualitiesPackHeader.Packed_SpellBook) != 0)
            {
                newObj._spell_book = PackableHashTable <uint, float> .read(binaryReader);

                newObj.packedItems.Add(QualitiesPackHeader.Packed_SpellBook.ToString());
            }
            if ((newObj.header & (uint)QualitiesPackHeader.Packed_EnchantmentRegistry) != 0)
            {
                newObj._enchantment_reg = EnchantmentRegistry.read(binaryReader);
                newObj.packedItems.Add(QualitiesPackHeader.Packed_EnchantmentRegistry.ToString());
            }
            return(newObj);
        }