Consistent SYSTEMS

This commit is contained in:
2025-05-25 14:37:30 -05:00
parent 48f3e57a44
commit 470fd62e2f
34 changed files with 65 additions and 106 deletions

View File

@@ -0,0 +1,27 @@
class_name RecipeSystem extends Node
var RECIPE_MAP:Dictionary[Recipe.Type, Recipe] = {}
func _recurseChildren(node:Node) -> void:
if node is Recipe:
var recipe:Recipe = node as Recipe
if recipe.type in RECIPE_MAP:
assert(false, "Duplicate recipe type found: " + str(recipe.type))
RECIPE_MAP[recipe.type] = recipe
else:
for child in node.get_children():
_recurseChildren(child)
func _updateRecipes() -> void:
RECIPE_MAP = {}
_recurseChildren(self)
func _enter_tree() -> void:
_updateRecipes()
for recipeType in Recipe.Type.values():
if !RECIPE_MAP.has(recipeType):
assert(false, "Missing recipe type: " + Recipe.Type.find_key(recipeType))
func _init() -> void:
_updateRecipes()