public void Add(WorldItemRecord item, int quantity) { if (this.HasSame(item)) { var same = this.GetSame(item); same.Quantity += quantity; item.Quantity -= quantity; same.SaveAndFlush(); item.SaveAndFlush(); } else { if (item.Quantity - quantity < 0) { item.Quantity = quantity; item.SaveAndFlush(); this.Items.Add(item); } else { var newItem = item.Engine.DuplicateItem(item, -1, false); newItem.Owner = -1; newItem.Quantity = quantity; this.Items.Add(newItem); newItem.SaveAndFlush(); } } }
public bool HasSame(WorldItemRecord item) { foreach (var i in this.Items) { if (i.IsSame(item)) { return(true); } } return(false); }
public WorldItemRecord GetSame(WorldItemRecord item) { foreach (var i in this.Items) { if (i.IsSame(item)) { return(i); } } return(null); }
public void Add(WorldItemRecord item) { if (this.HasSame(item)) { var same = this.GetSame(item); same.Quantity += item.Quantity; } else { this.Items.Add(item); } }
public bool HasSame(WorldItemRecord item) { foreach (var i in this.Items) { if (i.IsSame(item)) return true; } return false; }
public WorldItemRecord GetSame(WorldItemRecord item) { foreach (var i in this.Items) { if (i.IsSame(item)) return i; } return null; }