diff options
Diffstat (limited to 'client/scripts/map.gd')
-rw-r--r-- | client/scripts/map.gd | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/client/scripts/map.gd b/client/scripts/map.gd new file mode 100644 index 00000000..64d15723 --- /dev/null +++ b/client/scripts/map.gd @@ -0,0 +1,57 @@ +extends Node3D + +func _ready(): + Multiplayer.connect("update_map", update) + +func update(pos, tile_name, neighbors): + var instance: Floor + match tile_name: + "trash": + instance = Trash.new() + "tomato-crate": + instance = CounterBase.new() + "cuttingboard": + instance = CounterBase.new() + "counter": + instance = CounterBase.new() + "flour-crate": + instance = CounterBase.new() + "oven": + instance = CounterBase.new() + "raw-steak-crate": + instance = CounterBase.new() + "pan": + instance = CounterBase.new() + "watercooler": + instance = CounterBase.new() + "sink": + instance = CounterBase.new() + "dirty-plate-crate": + instance = CounterBase.new() + "wall": + instance = Wall.new() + "chair": + instance = Chair.new() + "table": + instance = Table.new() + "floor": + instance = Floor.new() + "window": + instance = Wall.new() + "door": + instance = Wall.new() + _: + instance = Floor.new() + + var node_name = str(pos) + + if has_node(node_name): + queue_free_rename(get_node(node_name)) + + instance.setup(node_name, neighbors) + instance.position = Vector3(pos[0], 0, pos[1]) + add_child(instance) + +func queue_free_rename(node: Node) -> void: + node.name += "_queued_free" + node.queue_free() |