# Hurry Curry! - a game about cooking # Copyright 2024 nokoe # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, version 3 of the License only. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # class_name ItemFactory extends Object static func produce(name: String, owned_by: Node3D) -> Item: match name: "plate": return Plate.new(owned_by) "dirty-plate": return DirtyPlate.new(owned_by) "tomato": return Tomato.new(owned_by) "raw-steak": return RawSteak.new(owned_by) "sliced-tomato": return SlicedTomato.new(owned_by) "pot": return Pot.new(owned_by) "raw-steak-pot": return RawSteakPot.new(owned_by) "steak-pot": return SteakPot.new(owned_by) "steak-plate": return SteakPlate.new(owned_by) "foodprocessor": return FoodProcessor.new(owned_by) "tomato-foodprocessor": return TomatoFoodProcessor.new(owned_by) "tomato-juice-foodprocessor": return TomatoJuiceFoodProcessor.new(owned_by) "flour": return Flour.new(owned_by) "flour-foodprocessor": return FlourFoodProcessor.new(owned_by) "dough": return Dough.new(owned_by) "bread": return Bread.new(owned_by) "dough-foodprocessor": return DoughFoodProcessor.new(owned_by) "bread-slice": return BreadSlice.new(owned_by) "burned-pot": return BurnedPot.new(owned_by) "tomato-juice-pot": return TomatoJuicePot.new(owned_by) "leek": return Leek.new(owned_by) "leek-pot": return LeekPot.new(owned_by) "leek-tomato-juice-pot": return LeekTomatoJuicePot.new(owned_by) "tomato-soup-pot": return TomatoSoupPot.new(owned_by) "tomato-soup-plate": return TomatoSoupPlate.new(owned_by) "burned": return Burned.new(owned_by) "bread-slice-plate": return BreadSlicePlate.new(owned_by) "bread-slice-steak-plate": return BreadSliceSteakPlate.new(owned_by) "bread-slice-sliced-tomato-plate": return BreadSliceSlicedTomatoPlate.new(owned_by) "bread-slice-sliced-tomato-steak-plate": return BreadSliceSlicedTomatoSteakPlate.new(owned_by) "sliced-tomato-plate": return SlicedTomatoPlate.new(owned_by) "sliced-tomato-steak-plate": return SlicedTomatoSteakPlate.new(owned_by) var t: return GenericItem.new(owned_by, t)