class_name Recipe extends Node enum Type { BAKED_SWEET_POTATO, } @export_multiline var title:String = "" @export var type:Type = Type.BAKED_SWEET_POTATO @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