public static List <GoldItem> ChangeGoldItems(List <GoldItem> gold, string item, long quantity) { if (gold.Any(x => x.Name == item)) { int index = gold.FindIndex(x => x.Name == item); gold[index].Quantity += quantity; } else { GoldItem currentGold = new GoldItem(item); currentGold.Quantity = quantity; gold.Add(currentGold); } return(gold); }
public void AddGoldItem(GoldItem item) { if (capacity >= current + item.Value) { List <Item> goldItems = GetGoldItems(); if (goldItems.Any(gi => gi.Key == item.Key)) { goldItems.Single(gi => gi.Key == item.Key).IncreaseValue(item.Value); } else { bag.Add(item); } current += item.Value; } }
private static void InsertItem(string key, long value, Bag bag) { if (key.Length == 3) { CashItem cash = new CashItem(key, value); bag.AddCashItem(cash); } else if (key.Length >= 4 && key.ToLower().EndsWith("gem")) { GemItem gem = new GemItem(key, value); bag.AddGemItem(gem); } else if (key.ToLower().Equals("gold")) { GoldItem gold = new GoldItem(key, value); bag.AddGoldItem(gold); } }
public void FillBag(Bag bag, string type, string nameOfItem, long quantity) { switch (type) { case "Gem": GemItem.ChangeGemItems(Gems, nameOfItem, quantity); break; case "Cash": CashItem.ChangeCashItems(Cash, nameOfItem, quantity); break; case "Gold": GoldItem.ChangeGoldItems(Gold, nameOfItem, quantity); break; default: break; } }