public bool CheckInventory(InventoryController inventory)
        {
            if (neededItemsArray != null && dictionaryPopulated == false)
            {
                foreach (NeededItems nItem in neededItemsArray)
                {
                    if (!neededItems.ContainsKey(nItem.item))
                    {
                        neededItems.Add(nItem.item, nItem.amount);
                    }
                    else
                    {
                        neededItems[nItem.item]++;
                    }
                }
                dictionaryPopulated = true;
            }

            if (inventory != null)
            {
                foreach (KeyValuePair <string, int> item in neededItems)
                {
                    if (inventory.HasItem(item.Key) && inventory.NumberOfItem(item.Key) >= item.Value)
                    {
                        OnHasItem.Invoke();
                        return(true);
                    }
                }
                OnDoesNotHaveItem.Invoke();
                return(false);
            }
            return(false);
        }
Esempio n. 2
0
 public bool CheckInventory(InventoryController inventory)
 {
     if (inventory != null)
     {
         for (var i = 0; i < inventoryItems.Length; i++)
         {
             if (!inventory.HasItem(inventoryItems[i]))
             {
                 OnDoesNotHaveItem.Invoke();
                 return(false);
             }
         }
         OnHasItem.Invoke();
         return(true);
     }
     return(false);
 }
Esempio n. 3
0
            public bool CheckInventory(InventoryController inventory) //校对库存(带入库存控制器的一个“库存”)
            {
                if (inventory != null)                                //如果这个量不为空
                {
                    for (var i = 0; i < inventoryItems.Length; i++)   //当i<库存项目的长度时
//var可以理解为匿名类型,它是一个声明变量的占位符。它主要用于在声明变量时,无法确定数据类型时使用
                    {
                        if (!inventory.HasItem(inventoryItems[i])) //如果库存项目中的i对应的与控制器中的不同
                        {
                            OnDoesNotHaveItem.Invoke();            //执行ODNHI
                            return(false);                         //返回false
                        }
                    }
                    OnHasItem.Invoke(); //如果一样,执行OHI
                    return(true);       //返回true
                }
                return(false);          //如果这个量为空,返回false
            }