static void CalcAllEquipPropertys(Dictionary <EAttr, int> dict) { Dictionary <int, XItem> dressEquips = DataDBSDressEquip.Dict; Dictionary <int, XItem> .Enumerator em1 = dressEquips.GetEnumerator(); while (em1.MoveNext()) { if (em1.Current.Value.Instance == 0) { continue; } int instanceID = em1.Current.Value.Instance; if (!DataDBSEquip.ContainsKey(instanceID)) { continue; } XEquip equip = DataDBSEquip.GetDataById(instanceID); Dictionary <EAttr, int> .Enumerator em2 = GetPropertys(equip).GetEnumerator(); while (em2.MoveNext()) { dict[em2.Current.Key] += em2.Current.Value; } em2.Dispose(); } em1.Dispose(); }
public int CompareBagItem(XItem x1, XItem x2) { DItem itemDB1 = ReadCfgItem.GetDataById(x1.Id); DItem itemDB2 = ReadCfgItem.GetDataById(x2.Id); if (itemDB1.ItemType != itemDB2.ItemType) { return(itemDB1.ItemType - itemDB2.ItemType); } if (itemDB1.Quality != itemDB2.Quality) { return(itemDB2.Quality - itemDB1.Quality); } if (itemDB1.ItemType == EItemType.EQUIP) { XEquip xe1 = DataDBSEquip.GetDataById(x1.Instance); XEquip xe2 = DataDBSEquip.GetDataById(x2.Instance); return(CompareBagEquip(xe1, xe2)); } if (itemDB1.Id != itemDB2.Id) { return(itemDB2.Id - itemDB1.Id); } return(x1.Instance - x2.Instance); }
public bool IsCanAsMatToAutoAdd(XItem item) { XEquip equip = DataDBSEquip.GetDataById(item.Instance); DEquip equipDB = ReadCfgEquip.GetDataById(equip.Id); return(equipDB.Quality < 3); }
public int CompareStrengthMat(XItem x1, XItem x2) { XEquip e1 = DataDBSEquip.GetDataById(x1.Instance); XEquip e2 = DataDBSEquip.GetDataById(x2.Instance); DEquip db1 = ReadCfgEquip.GetDataById(e1.Id); DEquip db2 = ReadCfgEquip.GetDataById(e2.Id); if (db1.Quality != db2.Quality) { return(db1.Quality - db2.Quality); } if (e1.StarLevel != e2.StarLevel) { return(e1.StarLevel - e2.StarLevel); } if (e1.AdvanceLevel != e2.AdvanceLevel) { return(e1.AdvanceLevel - e2.AdvanceLevel); } if (e1.StrengthenExp != e2.StrengthenExp) { return(e1.StrengthenExp - e2.StrengthenExp); } return(x2.Pos - x1.Pos); }
public int GetStrengthenExpByMatList(List <XItem> list) { if (list == null) { return(0); } int exp = 0; for (int i = 0; i < list.Count; i++) { if (list[i].PosType == (int)EPosType.RoleMoney) { exp += list[i].Num; } else { XItem mat = list[i]; DEquip equipDB = ReadCfgEquip.GetDataById(mat.Id); XEquip equip = DataDBSEquip.GetDataById(mat.Instance); exp += equipDB.DeComposeNum2; exp += equip.StrengthenExp; int lv = equip.StrengthenLevel; for (int j = lv; j > 0; j--) { DEquipStrengLevel db = ReadCfgEquipStrengLevel.GetDataById(equipDB.Quality * 1000 + j); exp += db.RequireExp; } } } return(exp); }
public List <XItem> GetBagSameEquipList(XEquip equip) { List <XItem> list = new List <XItem>(); Dictionary <int, XItem> .Enumerator em = DataDBSBagItem.Dict.GetEnumerator(); while (em.MoveNext()) { XItem item = em.Current.Value; DItem itemDB = ReadCfgItem.GetDataById(item.Id); if (itemDB.ItemType != EItemType.EQUIP) { continue; } XEquip e = DataDBSEquip.GetDataById(item.Instance); if (e.Id != equip.Id) { continue; } if (e.Instance == equip.Instance) { continue; } if (e.StarLevel > 0) { continue; } if (e.StrengthenLevel > 0) { continue; } if (e.StrengthenExp > 0) { continue; } if (e.AdvanceLevel > 0) { continue; } list.Add(item); } em.Dispose(); return(list); }