[gd_scene load_steps=6 format=3 uid="uid://chwnewu8l45kj"] [ext_resource type="Script" uid="uid://i5bjnah05h14" path="res://scripts/wave_spawner.gd" id="2_0bbpv"] [ext_resource type="PackedScene" uid="uid://cdgeamr56c0mx" path="res://scenes/map.tscn" id="2_vcsgt"] [ext_resource type="PackedScene" uid="uid://cq6d7gmjbwl14" path="res://scenes/cursor.tscn" id="4_rarhs"] [ext_resource type="PackedScene" uid="uid://dycgp3yept14k" path="res://scenes/ui.tscn" id="5_vcsgt"] [sub_resource type="GDScript" id="GDScript_rarhs"] script/source = "extends Node var occupied_tiles = {} @export var tile_size = 16.0 @export var grid_width = 20 @export var grid_height = 15 func is_tile_occupied(tile_position): return occupied_tiles.has(tile_position) func occupy_tile(tile_position): occupied_tiles[tile_position] = true func free_tile(tile_position): occupied_tiles.erase(tile_position) " [node name="Main" type="Node2D"] [node name="Cursor" parent="." instance=ExtResource("4_rarhs")] z_index = 2 [node name="Map" parent="." instance=ExtResource("2_vcsgt")] [node name="PathSpawner" type="Node2D" parent="."] script = ExtResource("2_0bbpv") [node name="Timer" type="Timer" parent="PathSpawner"] autostart = true [node name="Defenders" type="Node" parent="."] [node name="GridManager" type="Node" parent="."] script = SubResource("GDScript_rarhs") [node name="PanelContainer" parent="." instance=ExtResource("5_vcsgt")] offset_top = 224.0 offset_right = 320.0 offset_bottom = 241.0 [connection signal="timeout" from="PathSpawner/Timer" to="PathSpawner" method="_on_timer_timeout"]