public void AddNewRune(int instanceId, int id) { int newPos = GetNewPos(EBagType.RUNE); if (newPos == 0) { return; } XItem item = new XItem(); item.Pos = newPos; item.Instance = instanceId; item.Pos = newPos; item.Id = id; item.Num = 1; item.PosType = (int)EPosType.BagRune; DataBagRune.Insert(newPos, item); XRune rune = new XRune(); rune.Instance = instanceId; rune.Id = id; rune.Level = 0; DataRune.Insert(instanceId, rune); }
public int CompareBagRune(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(itemDB2.Id - itemDB1.Id); } XRune r1 = DataDBSRune.GetDataById(x1.Instance); XRune r2 = DataDBSRune.GetDataById(x2.Instance); if (r1.Level != r2.Level) { return(r2.Level - r1.Level); } return(x1.Instance - x2.Instance); }