Files
Dawn-Godot/scripts/Cooking/Recipe.gd
2025-05-24 23:07:50 -05:00

29 lines
746 B
GDScript

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