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);
 }
Example #2
0
        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;
            }
        }
Example #3
0
 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);
     }
 }
Example #4
0
        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;
            }
        }