public List <IntPair> GetItemCountByAttribute(string attrName) { AutoDictionary <int, int> counter = new AutoDictionary <int, int>(); for (int i = 0; i < BagCount; i++) { HItemConfig itemConfig = ConfigData.GetHItemConfig(Items[i].Type); if (itemConfig != null && itemConfig.Attributes != null && Array.IndexOf(itemConfig.Attributes, attrName) >= 0) { counter[itemConfig.Id] += Items[i].Value; } } List <IntPair> datas = new List <IntPair>(); foreach (int itemId in counter.Keys()) { IntPair pairData = new IntPair { Type = itemId, Value = counter[itemId] }; datas.Add(pairData); } return(datas); }
public List <IntPair> GetItemCountBySubtype(int type) { AutoDictionary <int, int> counter = new AutoDictionary <int, int>(); for (int i = 0; i < BagCount; i++) { HItemConfig itemConfig = ConfigData.GetHItemConfig(Items[i].Type); if (itemConfig != null && itemConfig.SubType == type) { counter[itemConfig.Id] += Items[i].Value; } } List <IntPair> datas = new List <IntPair>(); foreach (int itemId in counter.Keys()) { IntPair pairData = new IntPair(); pairData.Type = itemId; pairData.Value = counter[itemId]; datas.Add(pairData); } return(datas); }
public List<IntPair> GetItemCountBySubtype(int type) { AutoDictionary<int, int> counter = new AutoDictionary<int, int>(); for (int i = 0; i < BagCount; i++) { HItemConfig itemConfig = ConfigData.GetHItemConfig(Items[i].Type); if (itemConfig != null && itemConfig.SubType == type) { counter[itemConfig.Id] += Items[i].Value; } } List<IntPair> datas = new List<IntPair>(); foreach (int itemId in counter.Keys()) { IntPair pairData = new IntPair(); pairData.Type = itemId; pairData.Value = counter[itemId]; datas.Add(pairData); } return datas; }