# Hurry Curry! - a game about cooking # Copyright 2024 nokoe # Copyright 2024 metamuffin # # 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: "bread-slice": return BreadSlice.new(owned_by) "bread": return Bread.new(owned_by) "burned": return Burned.new(owned_by) "coconut": return Coconut.new(owned_by) "dough": return Dough.new(owned_by) "fish": return Fish.new(owned_by) "flour": return Flour.new(owned_by) "leek": return Leek.new(owned_by) "strawberry-mochi": return MochiItems.StrawberryM.new(owned_by) "nigiri": return Nigiri.new(owned_by) "raw-steak": return RawSteak.new(owned_by) "rice": return Rice.new(owned_by) "sliced-fish": return SlicedFish.new(owned_by) "sliced-tomato-plate": return PlateItems.SlicedTomatoP.new(owned_by) "sliced-tomato-steak-plate": return PlateItems.SlicedTomatoSteakP.new(owned_by) "sliced-tomato": return SlicedTomato.new(owned_by) "strawberry": return Strawberry.new(owned_by) "tomato": return Tomato.new(owned_by) "pot": return Pot.new(owned_by) "burned-pot": return PotItems.BurnedP.new(owned_by) "cooked-rice-pot": return PotItems.CookedRiceP.new(owned_by) "curry-pot": return PotItems.CurryP.new(owned_by) "leek-milk-pot": return PotItems.LeekMilkP.new(owned_by) "leek-milk-tomato-pot": return PotItems.LeekMilkTomatoP.new(owned_by) "leek-pot": return PotItems.LeekP.new(owned_by) "leek-tomato-juice-pot": return PotItems.LeekTomatoJuiceP.new(owned_by) "leek-tomato-pot": return PotItems.LeekTomatoP.new(owned_by) "milk-pot": return PotItems.MilkP.new(owned_by) "milk-tomato-pot": return PotItems.MilkTomatoP.new(owned_by) "mochi-dough-pot": return PotItems.MochiDoughP.new(owned_by) "raw-steak-pot": return PotItems.RawSteakP.new(owned_by) "rice-flour-pot": return PotItems.RiceFlourP.new(owned_by) "rice-pot": return PotItems.RiceP.new(owned_by) "steak-pot": return PotItems.SteakP.new(owned_by) "tomato-juice-pot": return PotItems.TomatoJuiceP.new(owned_by) "tomato-pot": return PotItems.TomatoP.new(owned_by) "tomato-soup-pot": return PotItems.TomatoSoupP.new(owned_by) "foodprocessor": return FoodProcessor.new(owned_by) "coconut-foodprocessor": return FoodProcessorItems.CoconutF.new(owned_by) "coconut-strawberry-puree-foodprocessor": return FoodProcessorItems.CoconutStrawberryPureeF.new(owned_by) "dough-foodprocessor": return FoodProcessorItems.DoughF.new(owned_by) "flour-foodprocessor": return FoodProcessorItems.FlourF.new(owned_by) "milk-foodprocessor": return FoodProcessorItems.MilkF.new(owned_by) "milk-strawberry-foodprocessor": return FoodProcessorItems.MilkStrawberryF.new(owned_by) "rice-flour-foodprocessor": return FoodProcessorItems.RiceFlourF.new(owned_by) "rice-foodprocessor": return FoodProcessorItems.RiceF.new(owned_by) "strawberry-foodprocessor": return FoodProcessorItems.StrawberryF.new(owned_by) "strawberry-icecream-foodprocessor": return FoodProcessorItems.StrawberryIcecreamF.new(owned_by) "strawberry-puree-foodprocessor": return FoodProcessorItems.StrawberryPureeF.new(owned_by) "strawberry-shake-foodprocessor": return FoodProcessorItems.StrawberryShakeF.new(owned_by) "tomato-foodprocessor": return FoodProcessorItems.TomatoF.new(owned_by) "tomato-juice-foodprocessor": return FoodProcessorItems.TomatoJuiceF.new(owned_by) "glass": return Glass.new(owned_by) "water-glass": return GlassItems.WaterG.new(owned_by) "strawberry-shake-glass": return GlassItems.StrawberryShakeG.new(owned_by) "plate": return Plate.new(owned_by) "bread-slice-plate": return PlateItems.BreadSliceP.new(owned_by) "bread-slice-sliced-tomato-plate": return PlateItems.BreadSliceSlicedTomatoP.new(owned_by) "bread-slice-sliced-tomato-steak-plate": return PlateItems.BreadSliceSlicedTomatoSteakP.new(owned_by) "bread-slice-steak-plate": return PlateItems.BreadSliceSteakP.new(owned_by) "cooked-rice-curry-plate": return PlateItems.CookedRiceCurryP.new(owned_by) "curry-plate": return PlateItems.CurryP.new(owned_by) "dirty-plate": return PlateItems.DirtyP.new(owned_by) "nigiri-plate": return PlateItems.NigiriP.new(owned_by) "steak-plate": return PlateItems.SteakP.new(owned_by) "strawberry-icecream-plate": return PlateItems.StrawberryIcecreamP.new(owned_by) "tomato-soup-plate": return PlateItems.TomatoSoupP.new(owned_by) var t: return GenericItem.new(owned_by, t)