[gd_scene load_steps=15 format=3 uid="uid://chwnewu8l45kj"] [ext_resource type="PackedScene" uid="uid://cq6d7gmjbwl14" path="res://scenes/player.tscn" id="1_iywne"] [ext_resource type="PackedScene" uid="uid://cdgeamr56c0mx" path="res://scenes/map.tscn" id="2_p57ef"] [ext_resource type="Script" uid="uid://i5bjnah05h14" path="res://scripts/wave_spawner.gd" id="3_u5sy4"] [ext_resource type="Script" uid="uid://bxnjjp3at6ht3" path="res://scripts/tower_manager.gd" id="4_gee14"] [ext_resource type="PackedScene" uid="uid://dycgp3yept14k" path="res://scenes/ui.tscn" id="5_0tnpc"] [ext_resource type="AudioStream" uid="uid://eat73dvukohu" path="res://assets/04 - Self Preservation.wav" id="6_0tnpc"] [ext_resource type="AudioStream" uid="uid://6kmoeyv6xfvr" path="res://assets/06 - The Temperature of Time.wav" id="7_vtaks"] [ext_resource type="AudioStream" uid="uid://bixrivbcifxur" path="res://assets/07 - The Victim's Hall.wav" id="8_kvpfn"] [ext_resource type="AudioStream" uid="uid://dv3042e2v5hsj" path="res://assets/09 - Riddle of Demise.wav" id="9_dinhu"] [ext_resource type="AudioStream" uid="uid://fysavm3u40p2" path="res://assets/02 - Motivatia Eroului.wav" id="10_dinhu"] [ext_resource type="Script" uid="uid://1d5icis2ddhc" path="res://scripts/audio_looper.gd" id="10_vtaks"] [ext_resource type="AudioStream" uid="uid://d2gtuehcm5cg0" path="res://assets/08 - Of Blood and Capes.wav" id="11_kvuet"] [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) " [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_kvuet"] streams_count = 6 stream_0/stream = ExtResource("6_0tnpc") stream_1/stream = ExtResource("7_vtaks") stream_2/stream = ExtResource("8_kvpfn") stream_3/stream = ExtResource("9_dinhu") stream_4/stream = ExtResource("10_dinhu") stream_5/stream = ExtResource("11_kvuet") [node name="game" type="Node2D"] [node name="Player" parent="." instance=ExtResource("1_iywne")] z_index = 2 [node name="Map" parent="." instance=ExtResource("2_p57ef")] [node name="PathSpawner" type="Node2D" parent="."] script = ExtResource("3_u5sy4") [node name="Timer" type="Timer" parent="PathSpawner"] autostart = true [node name="Defenders" type="Node" parent="."] script = ExtResource("4_gee14") [node name="GridManager" type="Node" parent="."] script = SubResource("GDScript_rarhs") [node name="PanelContainer" parent="." instance=ExtResource("5_0tnpc")] offset_top = 224.0 offset_right = 320.0 offset_bottom = 241.0 [node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="."] stream = SubResource("AudioStreamRandomizer_kvuet") volume_db = -4.0 script = ExtResource("10_vtaks") [node name="Blips" type="AudioStreamPlayer2D" parent="."] [connection signal="timeout" from="PathSpawner/Timer" to="PathSpawner" method="_on_timer_timeout"]