public static Dictionary <EAttr, int> GetAllGemPropertysByIndex(int index) { if (!DataDBSDressEquip.ContainsKey(index)) { return(New()); } Dictionary <EAttr, int> attrValues = New(); for (int i = 1; i <= 5; i++) { int gemPos = MLGem.Instance.GetDressGemPosByIndexAndTargetPos(index, i); XItem item = DataDBSDressGem.GetDataById(gemPos); if (item == null) { continue; } XGem gem = DataDBSGem.GetDataById(item.Instance); if (gem != null) { continue; } CalcGemStrenthLevel(attrValues, gem); } CalcMaxAttrValue(ref attrValues); return(attrValues); }
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 bool IsCanBeUseAsStrengthenMatToAutoAdd(XItem item) { XGem gem = DataDBSGem.GetDataById(item.Instance); DGem gemDB = ReadCfgGem.GetDataById(gem.Id); return(gemDB.Quality < 3); }
public int CompareXGem(XItem x1, XItem x2) { XGem e1 = DataDBSGem.GetDataById(x1.Instance); XGem e2 = DataDBSGem.GetDataById(x2.Instance); DGem db1 = ReadCfgGem.GetDataById(e1.Id); DGem db2 = ReadCfgGem.GetDataById(e2.Id); if (db1.Quality != db2.Quality) { return(db1.Quality - db2.Quality); } if (e1.StrengthenLevel != e2.StrengthenLevel) { return(e1.StrengthenLevel - e2.StrengthenLevel); } if (e1.StrengthenExp != e2.StrengthenExp) { return(e1.StrengthenExp - e2.StrengthenExp); } return(x2.Pos - x1.Pos); }
public int CompareBagGem(XItem x1, XItem x2) { DItem itemDB1 = ReadCfgItem.GetDataById(x1.Id); DItem itemDB2 = ReadCfgItem.GetDataById(x2.Id); if (itemDB1.Quality != itemDB2.Quality) { return(itemDB2.Quality - itemDB1.Quality); } if (itemDB1.Id != itemDB2.Id) { return(itemDB1.Id - itemDB2.Id); } XGem gem1 = DataDBSGem.GetDataById(x1.Instance); XGem gem2 = DataDBSGem.GetDataById(x2.Instance); if (gem1.StrengthenLevel != gem2.StrengthenLevel) { return(gem1.StrengthenLevel - gem2.StrengthenLevel); } return(x1.Instance - x2.Instance); }
public int GetExpByStrengthMatList(List <XItem> list) { int value = 0; for (int i = 0; i < list.Count; i++) { XItem item = list[i]; switch ((EPosType)item.PosType) { case EPosType.BagItem: DItem itemDB = ReadCfgItem.GetDataById(item.Id); value += itemDB.Data1 * item.Num; break; case EPosType.BagGem: XGem gem = DataDBSGem.GetDataById(item.Instance); value += GetExpByXGem(gem); break; } } return(value); }
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); }