diff options
author | nokoe <nokoe@mailbox.org> | 2024-06-25 00:14:48 +0200 |
---|---|---|
committer | nokoe <nokoe@mailbox.org> | 2024-06-25 00:15:24 +0200 |
commit | cf11d11099b8ddc03dc0c26f590193d35ba1bafd (patch) | |
tree | be36250dd56e7a064d09335379de9770101fd484 /client/map/map.gd | |
parent | a0572f92fddb1ddc1f4d62f22f8ecfb1f623bf21 (diff) | |
download | hurrycurry-cf11d11099b8ddc03dc0c26f590193d35ba1bafd.tar hurrycurry-cf11d11099b8ddc03dc0c26f590193d35ba1bafd.tar.bz2 hurrycurry-cf11d11099b8ddc03dc0c26f590193d35ba1bafd.tar.zst |
more recipes, add tile factory
Diffstat (limited to 'client/map/map.gd')
-rw-r--r-- | client/map/map.gd | 46 |
1 files changed, 5 insertions, 41 deletions
diff --git a/client/map/map.gd b/client/map/map.gd index a26da0fd..14e7698a 100644 --- a/client/map/map.gd +++ b/client/map/map.gd @@ -2,67 +2,31 @@ # Copyright 2024 nokoe # Copyright 2024 tpart # 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 <https://www.gnu.org/licenses/>. -# +# class_name Map extends Node3D var tile_by_pos: Dictionary = {} func update(pos, tile_name, neighbors): - var instance: Floor var node_name = str(pos) if has_node(node_name): queue_free_rename(get_node(node_name)) - match tile_name: - "trash": - instance = Trash.new(node_name, neighbors) - "tomato-crate": - instance = TomatoCrate.new(node_name, neighbors) - "cuttingboard": - instance = CuttingBoard.new(node_name, neighbors) - "counter": - instance = CounterBase.new(node_name, neighbors) - "flour-crate": - instance = FlourCounter.new(node_name, neighbors) - "oven": - instance = Oven.new(node_name, neighbors) - "raw-steak-crate": - instance = RawSteakCrate.new(node_name, neighbors) - "stove": - instance = Stove.new(node_name, neighbors) - "sink": - instance = Sink.new(node_name, neighbors) - "dirty-plate-crate": - instance = CounterBase.new(node_name, neighbors) - "wall": - instance = Wall.new(node_name, neighbors) - "chair": - instance = Chair.new(node_name, neighbors) - "table": - instance = Table.new(node_name, neighbors) - "floor": - instance = Floor.new(node_name, neighbors) - "window": - instance = WallWindow.new(node_name, neighbors) - "door": - instance = Door.new(node_name, neighbors) - var t: - push_warning("tile tile %s unknown" % t) - instance = GenericTile.new(node_name, neighbors, t) + var instance: Floor = TileFactory.produce(tile_name, node_name, neighbors) instance.position = Vector3(pos[0], 0, pos[1]) tile_by_pos[str(Vector2i(pos[0], pos[1]))] = instance |