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 ); }
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 ); }
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; }