public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            this.EntriesPointer  = reader.ReadUInt64();
            this.EntriesCount    = reader.ReadUInt16();
            this.EntriesCapacity = reader.ReadUInt16();
            reader.Position     += 4;

            this.Entries = reader.ReadBlockAt <ResourcePointerArray64 <T> >(
                this.EntriesPointer, // offset
                this.EntriesCount
                );
        }
Exemple #2
0
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.BucketsPointer = reader.ReadUInt64();
            this.BucketsCount   = reader.ReadUInt16();
            this.Count          = reader.ReadUInt16();
            this.Unknown_Ch     = reader.ReadUInt16();
            this.Unknown_Eh     = reader.ReadByte();
            this.Initialized    = reader.ReadByte();

            // read reference data
            this.Buckets = reader.ReadBlockAt <ResourcePointerArray64 <HashMapEntry> >(
                this.BucketsPointer, // offset
                this.BucketsCount
                );
        }
Exemple #3
0
        private void Resize(ICollection <KeyValuePair <uint, uint> > entries)
        {
            Count        = (ushort)entries.Count;
            BucketsCount = GetBucketsCount((uint)entries.Count);

            Buckets = new ResourcePointerArray64 <HashMapEntry>();

            for (int i = 0; i < BucketsCount; i++)
            {
                Buckets.Add(null);
            }

            foreach (var entry in entries)
            {
                Add(entry);
            }

            Initialized = 1;
        }