Files
Dawn-Godot/scripts/Cooking/Recipe.gd
2025-05-25 14:37:30 -05:00

34 lines
834 B
GDScript

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