private void LoadItems(StatsDat sDat, TagsDat tagsDat) { foreach (var address in RecordAddresses()) { var r = new ModRecord(M, sDat, tagsDat, address); if (records.ContainsKey(r.Key)) { continue; } DictionaryRecords.Add(address, r); records.Add(r.Key, r); if (r.Domain == ModDomain.Monster) { continue; } var byTierKey = Tuple.Create(r.Group, r.AffixType); if (!recordsByTier.TryGetValue(byTierKey, out var groupMembers)) { groupMembers = new List <ModRecord>(); recordsByTier[byTierKey] = groupMembers; } groupMembers.Add(r); } foreach (var list in recordsByTier.Values) { list.Sort(ModRecord.ByLevelComparer); } }
public ModRecord GetModByAddress(long address) { DictionaryRecords.TryGetValue(address, out var result); return(result); }