class_name Recipe extends Node @export var recipe_text:String = "" @export var ingredients:Array[ItemResource] = [] @export var outputs:Array[ItemResource] = [] var learned:bool = false var timesMade:int = 0 func hasIngredients(inventory:Inventory = null) -> bool: if inventory == null: inventory = ITEM.PLAYER_INVENTORY for ingredient in ingredients: if !inventory.hasItem(ingredient.type, ingredient.quantity): return false return true func make(inventory:Inventory = null) -> void: if inventory == null: inventory = ITEM.PLAYER_INVENTORY for ingredient in ingredients: inventory.removeItem(ingredient.type, ingredient.quantity) for output in outputs: inventory.addItem(output.type, output.quantity) timesMade += 1