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); }
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); }
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 }