diff options
Diffstat (limited to 'client/map/map.tscn')
-rw-r--r-- | client/map/map.tscn | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/client/map/map.tscn b/client/map/map.tscn index 66e2c63a..612729f4 100644 --- a/client/map/map.tscn +++ b/client/map/map.tscn @@ -1,6 +1,44 @@ -[gd_scene load_steps=2 format=3 uid="uid://cs8gxa22c6joh"] +[gd_scene load_steps=2 format=3 uid="uid://duqkg22yre6ry"] -[ext_resource type="Script" path="res://map/map.gd" id="1_stp8c"] +[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 <https://www.gnu.org/licenses/>. +# +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 = ExtResource("1_stp8c") +script = SubResource("GDScript_qftmc") |