static void CalcAllGemPropertys(Dictionary <EAttr, int> dict) { Dictionary <int, XItem> .Enumerator em = DataDBSDressGem.Dict.GetEnumerator(); while (em.MoveNext()) { int dressPos = em.Current.Key; int index = MLGem.Instance.GetIndexByDressGemPos(dressPos); if (!DataDBSDressEquip.ContainsKey(index)) { continue; } int instanceID = em.Current.Value.Instance; if (!DataDBSGem.ContainsKey(instanceID)) { continue; } XGem gem = DataDBSGem.GetDataById(instanceID); Dictionary <EAttr, int> .Enumerator em2 = GetPropertys(gem).GetEnumerator(); while (em2.MoveNext()) { dict[em2.Current.Key] += em2.Current.Value; } em2.Dispose(); } em.Dispose(); }
public int GetActiveSameSuitsCountByPos(int pos) { if (!DataDBSDressGem.ContainsKey(pos)) { return(0); } XItem dressGem = DataDBSDressGem.GetDataById(pos); if (!DataDBSGem.ContainsKey(dressGem.Instance)) { return(0); } XGem gem = DataDBSGem.GetDataById(dressGem.Instance); int p = (int)(pos / 5.1f); List <int> sameSuits = GetSameSuitIDListByID(gem.Id); int count = 0; for (int i = 0; i < sameSuits.Count; i++) { int suitPos = p * 5 + i + 1; if (!DataDBSDressGem.ContainsKey(suitPos)) { continue; } XItem item = DataDBSDressGem.GetDataById(suitPos); if (!DataDBSGem.ContainsKey(item.Instance)) { continue; } XGem g = DataDBSGem.GetDataById(item.Instance); if (sameSuits.Contains(g.Id)) { count++; } } return(count); }