int FindMatchingStack(List <ItemSlot> items, ScriptableItemAndAmount ingredient) { for (int i = 0; i < items.Count; ++i) { if (items[i].amount >= ingredient.amount && items[i].item.data == ingredient.item) { return(i); } } return(-1); }
void OnValidate() { for (int i = ingredients.Count; i < recipeSize; ++i) { ingredients.Add(new ScriptableItemAndAmount()); } for (int i = recipeSize; i < ingredients.Count; ++i) { ingredients.RemoveAt(i); } for (int i = 0; i < ingredients.Count; ++i) { ScriptableItemAndAmount ingredient = ingredients[i]; if (ingredient.item != null) { ingredient.amount = Mathf.Clamp(ingredient.amount, 1, ingredient.item.maxStack); ingredients[i] = ingredient; } } }