public bool AttemptCraft(ItemInventory inventory) { foreach (BlueprintCondition condition in mConditions) { if (!condition.Check(inventory)) return false; } foreach (BlueprintCondition condition in mConditions) { inventory.ConsumeItem(condition.Name, condition.Count); } return true; }