[gd_scene load_steps=2 format=3 uid="uid://duqkg22yre6ry"] [sub_resource type="GDScript" id="GDScript_qftmc"] script/source = "# Undercooked - a game about cooking # 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 . # class_name Map extends Node3D var tile_by_pos: Dictionary = {} func update(pos, tile_name, neighbors): var node_name = str(pos) if has_node(node_name): queue_free_rename(get_node(node_name)) var instance: Tile = 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 add_child(instance) func queue_free_rename(node: Node) -> void: node.name += \"_queued_free\" node.queue_free() " [node name="Map" type="Node3D"] script = SubResource("GDScript_qftmc")