diff --git a/components/DropShadowComponent.tscn b/components/DropShadowComponent.tscn new file mode 100644 index 0000000..4622bbb --- /dev/null +++ b/components/DropShadowComponent.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://6w1nq8lhq3tq"] + +[ext_resource type="Script" path="res://components/scripts/drop_shadow_component.gd" id="1_060pv"] + +[node name="DropShadowComponent" type="Node2D"] +script = ExtResource("1_060pv") + +[node name="DropShadowSprite" type="Sprite2D" parent="."] diff --git a/components/scripts/drop_shadow_component.gd b/components/scripts/drop_shadow_component.gd new file mode 100644 index 0000000..a2e8ded --- /dev/null +++ b/components/scripts/drop_shadow_component.gd @@ -0,0 +1,24 @@ +extends Node2D + +@export var parent_sprite : Sprite2D = null +@export var drop_shadow_distance : int = 10 + +var drop_shadow_sprite = null + +func _ready(): + if parent_sprite is Sprite2D: + drop_shadow() + pass + +func drop_shadow(): + drop_shadow_sprite = parent_sprite.duplicate() + + drop_shadow_sprite.scale = Vector2(1.1, 1.1) + + drop_shadow_sprite.set_modulate(Color(0, 0, 0, 0.1)) + + drop_shadow_sprite.set_position(Vector2(drop_shadow_distance, drop_shadow_distance)) + #drop_shadow_sprite.global_position = parent_sprite.global_position + Vector2(drop_shadow_distance, drop_shadow_distance) + drop_shadow_sprite.show_behind_parent = true + + parent_sprite.add_child.call_deferred(drop_shadow_sprite) diff --git a/entities/Beehive.tscn b/entities/Beehive.tscn index 583780b..a94be77 100644 --- a/entities/Beehive.tscn +++ b/entities/Beehive.tscn @@ -1,6 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://dyu4mucawjlu6"] +[gd_scene load_steps=5 format=3 uid="uid://dyu4mucawjlu6"] [ext_resource type="Script" path="res://entities/scripts/beehive.gd" id="1_ej1r1"] +[ext_resource type="Texture2D" uid="uid://dijxeckxe7trv" path="res://resources/textures/beehive.png" id="2_2xhre"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="3_uglsl"] [sub_resource type="CircleShape2D" id="CircleShape2D_h6wmc"] radius = 250.0 @@ -8,10 +10,14 @@ radius = 250.0 [node name="Beehive" type="Node2D"] script = ExtResource("1_ej1r1") -[node name="BeehivePlaceholder" type="Polygon2D" parent="."] -position = Vector2(1, 0) -color = Color(0.588235, 0.423529, 0.423529, 1) -polygon = PackedVector2Array(-58, -56, 80, -30, 60, 78, -51, 108) +[node name="BeehiveSprite" type="Sprite2D" parent="."] +position = Vector2(-3, 1) +scale = Vector2(0.5, 0.5) +texture = ExtResource("2_2xhre") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("3_uglsl")] +parent_sprite = NodePath("../BeehiveSprite") +drop_shadow_distance = 20 [node name="Area2D" type="Area2D" parent="."] diff --git a/project.godot b/project.godot index dcb3bf6..afae17e 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="Pollen Not Included" -run/main_scene="res://scenes/test_level.tscn" +run/main_scene="res://scenes/level_1.tscn" config/features=PackedStringArray("4.2", "Forward Plus") config/icon="res://icon.svg" diff --git a/resources/concept art/.scene design.kra-autosave.kra b/resources/concept art/.scene design.kra-autosave.kra new file mode 100644 index 0000000..40fca3a Binary files /dev/null and b/resources/concept art/.scene design.kra-autosave.kra differ diff --git a/resources/concept art/scene design.kra b/resources/concept art/scene design.kra new file mode 100644 index 0000000..d30264a Binary files /dev/null and b/resources/concept art/scene design.kra differ diff --git a/resources/concept art/scene design.kra~ b/resources/concept art/scene design.kra~ new file mode 100644 index 0000000..f4c18b6 Binary files /dev/null and b/resources/concept art/scene design.kra~ differ diff --git a/resources/textures/beehive.png b/resources/textures/beehive.png new file mode 100644 index 0000000..7d1d69b Binary files /dev/null and b/resources/textures/beehive.png differ diff --git a/resources/textures/beehive.png.import b/resources/textures/beehive.png.import new file mode 100644 index 0000000..c292a72 --- /dev/null +++ b/resources/textures/beehive.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dijxeckxe7trv" +path="res://.godot/imported/beehive.png-8ecfa2459317a3914bd7e9594c59edf9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/beehive.png" +dest_files=["res://.godot/imported/beehive.png-8ecfa2459317a3914bd7e9594c59edf9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/bush.png b/resources/textures/bush.png new file mode 100644 index 0000000..0d3e373 Binary files /dev/null and b/resources/textures/bush.png differ diff --git a/resources/textures/bush.png.import b/resources/textures/bush.png.import new file mode 100644 index 0000000..85ae6b7 --- /dev/null +++ b/resources/textures/bush.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5b3klfw4466j" +path="res://.godot/imported/bush.png-1769d6d3fdc87e93792611f87f701704.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/bush.png" +dest_files=["res://.godot/imported/bush.png-1769d6d3fdc87e93792611f87f701704.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/flower_1.png b/resources/textures/flower_1.png new file mode 100644 index 0000000..b8bcfb9 Binary files /dev/null and b/resources/textures/flower_1.png differ diff --git a/resources/textures/flower_1.png.import b/resources/textures/flower_1.png.import new file mode 100644 index 0000000..9f56b8a --- /dev/null +++ b/resources/textures/flower_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfsiavjapcxkk" +path="res://.godot/imported/flower_1.png-582f2b715e2e42844e5abb034b5f051d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/flower_1.png" +dest_files=["res://.godot/imported/flower_1.png-582f2b715e2e42844e5abb034b5f051d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/flower_2.png b/resources/textures/flower_2.png new file mode 100644 index 0000000..e062384 Binary files /dev/null and b/resources/textures/flower_2.png differ diff --git a/resources/textures/flower_2.png.import b/resources/textures/flower_2.png.import new file mode 100644 index 0000000..d7d753b --- /dev/null +++ b/resources/textures/flower_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3305m7gu47h2" +path="res://.godot/imported/flower_2.png-7322e57bc0d299ecc6a10e66bc696d92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/flower_2.png" +dest_files=["res://.godot/imported/flower_2.png-7322e57bc0d299ecc6a10e66bc696d92.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/grass.png b/resources/textures/grass.png new file mode 100644 index 0000000..2fa2f99 Binary files /dev/null and b/resources/textures/grass.png differ diff --git a/resources/textures/grass.png.import b/resources/textures/grass.png.import new file mode 100644 index 0000000..557b3a4 --- /dev/null +++ b/resources/textures/grass.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dosamt1emh6o4" +path="res://.godot/imported/grass.png-094a35ba07bbcb73e591b9af9b936e57.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/grass.png" +dest_files=["res://.godot/imported/grass.png-094a35ba07bbcb73e591b9af9b936e57.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/grass.png~ b/resources/textures/grass.png~ new file mode 100644 index 0000000..7950353 Binary files /dev/null and b/resources/textures/grass.png~ differ diff --git a/resources/textures/leafs.png b/resources/textures/leafs.png new file mode 100644 index 0000000..d1eaa1f Binary files /dev/null and b/resources/textures/leafs.png differ diff --git a/resources/textures/leafs.png.import b/resources/textures/leafs.png.import new file mode 100644 index 0000000..d573112 --- /dev/null +++ b/resources/textures/leafs.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cej11vpym3lju" +path="res://.godot/imported/leafs.png-ee6d2c74f553a979fe2f8a77ccb7c5b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/leafs.png" +dest_files=["res://.godot/imported/leafs.png-ee6d2c74f553a979fe2f8a77ccb7c5b2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/mushroom.png b/resources/textures/mushroom.png new file mode 100644 index 0000000..97c087d Binary files /dev/null and b/resources/textures/mushroom.png differ diff --git a/resources/textures/mushroom.png.import b/resources/textures/mushroom.png.import new file mode 100644 index 0000000..425576b --- /dev/null +++ b/resources/textures/mushroom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cc8rx803uskf2" +path="res://.godot/imported/mushroom.png-0b4688406047e6d6fcdc682373d38109.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/mushroom.png" +dest_files=["res://.godot/imported/mushroom.png-0b4688406047e6d6fcdc682373d38109.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/naked_tree.png b/resources/textures/naked_tree.png new file mode 100644 index 0000000..1d6f524 Binary files /dev/null and b/resources/textures/naked_tree.png differ diff --git a/resources/textures/naked_tree.png.import b/resources/textures/naked_tree.png.import new file mode 100644 index 0000000..92d3822 --- /dev/null +++ b/resources/textures/naked_tree.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxhluci3gcrv5" +path="res://.godot/imported/naked_tree.png-c774715275ec1352ef487b405b1b417e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/naked_tree.png" +dest_files=["res://.godot/imported/naked_tree.png-c774715275ec1352ef487b405b1b417e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/pesticide.png b/resources/textures/pesticide.png new file mode 100644 index 0000000..91dff38 Binary files /dev/null and b/resources/textures/pesticide.png differ diff --git a/resources/textures/pesticide.png.import b/resources/textures/pesticide.png.import new file mode 100644 index 0000000..192c779 --- /dev/null +++ b/resources/textures/pesticide.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d10d7frvofmrc" +path="res://.godot/imported/pesticide.png-1d3c2725fe34c268e48bf29983f3b501.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/pesticide.png" +dest_files=["res://.godot/imported/pesticide.png-1d3c2725fe34c268e48bf29983f3b501.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/tree.png b/resources/textures/tree.png new file mode 100644 index 0000000..3197399 Binary files /dev/null and b/resources/textures/tree.png differ diff --git a/resources/textures/tree.png.import b/resources/textures/tree.png.import new file mode 100644 index 0000000..f4d78a9 --- /dev/null +++ b/resources/textures/tree.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgwtb4gxypaj1" +path="res://.godot/imported/tree.png-9e8a6ddedb6608304c97c221e1285175.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/tree.png" +dest_files=["res://.godot/imported/tree.png-9e8a6ddedb6608304c97c221e1285175.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/textures/veg.png b/resources/textures/veg.png new file mode 100644 index 0000000..dbca0b8 Binary files /dev/null and b/resources/textures/veg.png differ diff --git a/resources/textures/veg.png.import b/resources/textures/veg.png.import new file mode 100644 index 0000000..bcbd1d7 --- /dev/null +++ b/resources/textures/veg.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s673b25l7g3k" +path="res://.godot/imported/veg.png-a7636d438f5912eb6776e33cbfb95392.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/textures/veg.png" +dest_files=["res://.godot/imported/veg.png-a7636d438f5912eb6776e33cbfb95392.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/decor/bush.tscn b/scenes/decor/bush.tscn new file mode 100644 index 0000000..0bcee8a --- /dev/null +++ b/scenes/decor/bush.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://dwuc6byusf1r3"] + +[ext_resource type="Texture2D" uid="uid://b5b3klfw4466j" path="res://resources/textures/bush.png" id="1_howpo"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="2_nqte4"] + +[node name="Bush" type="Node2D"] +position = Vector2(227, 255) + +[node name="DisplaySprite" type="Sprite2D" parent="."] +texture = ExtResource("1_howpo") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("2_nqte4")] +parent_sprite = NodePath("../DisplaySprite") diff --git a/scenes/decor/flower_1.tscn b/scenes/decor/flower_1.tscn new file mode 100644 index 0000000..d781e25 --- /dev/null +++ b/scenes/decor/flower_1.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://rnykx61eqxyk"] + +[ext_resource type="Texture2D" uid="uid://dfsiavjapcxkk" path="res://resources/textures/flower_1.png" id="1_jotb7"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="2_x4kpr"] + +[node name="Flower1" type="Node2D"] +position = Vector2(227, 255) + +[node name="DisplaySprite" type="Sprite2D" parent="."] +texture = ExtResource("1_jotb7") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("2_x4kpr")] +parent_sprite = NodePath("../DisplaySprite") +drop_shadow_distance = 5 diff --git a/scenes/decor/flower_2.tscn b/scenes/decor/flower_2.tscn new file mode 100644 index 0000000..a4ffe11 --- /dev/null +++ b/scenes/decor/flower_2.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://b7quc1hxenh5p"] + +[ext_resource type="Texture2D" uid="uid://d3305m7gu47h2" path="res://resources/textures/flower_2.png" id="1_hk01u"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="2_co3t4"] + +[node name="Flower2" type="Node2D"] +position = Vector2(227, 255) + +[node name="DisplaySprite" type="Sprite2D" parent="."] +texture = ExtResource("1_hk01u") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("2_co3t4")] +parent_sprite = NodePath("../DisplaySprite") +drop_shadow_distance = 5 diff --git a/scenes/decor/mushroom.tscn b/scenes/decor/mushroom.tscn new file mode 100644 index 0000000..72c7ce6 --- /dev/null +++ b/scenes/decor/mushroom.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://eiyribk1ijcu"] + +[ext_resource type="Texture2D" uid="uid://cc8rx803uskf2" path="res://resources/textures/mushroom.png" id="1_ewpvy"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="2_7ec4p"] + +[node name="Mushroom" type="Node2D"] +position = Vector2(227, 255) + +[node name="DisplaySprite" type="Sprite2D" parent="."] +texture = ExtResource("1_ewpvy") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("2_7ec4p")] +parent_sprite = NodePath("../DisplaySprite") diff --git a/scenes/decor/naked_tree.tscn b/scenes/decor/naked_tree.tscn new file mode 100644 index 0000000..90a06e7 --- /dev/null +++ b/scenes/decor/naked_tree.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://dj51rgpihnhi"] + +[ext_resource type="Texture2D" uid="uid://bxhluci3gcrv5" path="res://resources/textures/naked_tree.png" id="1_yly2y"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="2_gntgd"] + +[node name="NakedTree" type="Node2D"] +position = Vector2(227, 255) + +[node name="DisplaySprite" type="Sprite2D" parent="."] +texture = ExtResource("1_yly2y") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("2_gntgd")] +parent_sprite = NodePath("../DisplaySprite") diff --git a/scenes/decor/tree.tscn b/scenes/decor/tree.tscn new file mode 100644 index 0000000..f3feb8d --- /dev/null +++ b/scenes/decor/tree.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://d3mas42mbgec1"] + +[ext_resource type="Texture2D" uid="uid://cgwtb4gxypaj1" path="res://resources/textures/tree.png" id="1_awfty"] +[ext_resource type="PackedScene" uid="uid://6w1nq8lhq3tq" path="res://components/DropShadowComponent.tscn" id="2_450uc"] + +[node name="Tree" type="Node2D"] +position = Vector2(227, 255) + +[node name="DisplaySprite" type="Sprite2D" parent="."] +texture = ExtResource("1_awfty") + +[node name="DropShadowComponent" parent="." node_paths=PackedStringArray("parent_sprite") instance=ExtResource("2_450uc")] +parent_sprite = NodePath("../DisplaySprite") diff --git a/scenes/elements/background.tscn b/scenes/elements/background.tscn new file mode 100644 index 0000000..809fd38 --- /dev/null +++ b/scenes/elements/background.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://d1uawawum16b0"] + +[ext_resource type="Texture2D" uid="uid://dosamt1emh6o4" path="res://resources/textures/grass.png" id="1_neh17"] + +[node name="Grass" type="Sprite2D"] +texture_repeat = 2 +position = Vector2(640, 360) +texture = ExtResource("1_neh17") +region_enabled = true +region_rect = Rect2(0, 0, 1280, 720) diff --git a/scenes/elements/bee_spawner.tscn b/scenes/elements/bee_spawner.tscn new file mode 100644 index 0000000..9295479 --- /dev/null +++ b/scenes/elements/bee_spawner.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=4 format=3 uid="uid://ddf2mkkw1trkj"] + +[ext_resource type="Script" path="res://scenes/scripts/bee_spawner.gd" id="1_uaq7f"] +[ext_resource type="AudioStream" uid="uid://jdk681m35wt4" path="res://resources/SFX/bee.ogg" id="2_ghw8w"] +[ext_resource type="AudioStream" uid="uid://dpgl5huwc4yl8" path="res://resources/SFX/mixkit-big-bee-hard-flying-sound-42.wav" id="3_w50i8"] + +[node name="BeeSpawner" type="Node2D"] +script = ExtResource("1_uaq7f") + +[node name="BeeSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource("2_ghw8w") + +[node name="BigBeeSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource("3_w50i8") +volume_db = -10.138 diff --git a/scenes/elements/drone_manager.tscn b/scenes/elements/drone_manager.tscn new file mode 100644 index 0000000..2ea8edd --- /dev/null +++ b/scenes/elements/drone_manager.tscn @@ -0,0 +1,71 @@ +[gd_scene load_steps=4 format=3 uid="uid://ct3c16xm33r2a"] + +[ext_resource type="Script" path="res://scenes/scripts/drone_manager.gd" id="1_jkvsa"] +[ext_resource type="Theme" uid="uid://cpkvret5gi66h" path="res://resources/theme/game_theme.tres" id="2_l0re0"] +[ext_resource type="Script" path="res://scenes/scripts/drone_controls.gd" id="3_idi5h"] + +[node name="DroneManager" type="Node2D" groups=["dronemanager"]] +z_index = 50 +script = ExtResource("1_jkvsa") + +[node name="SpawnedDrones" type="Node2D" parent="."] + +[node name="Control" type="Control" parent="."] +top_level = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +metadata/_edit_use_anchors_ = true + +[node name="MarginContainer" type="MarginContainer" parent="Control"] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -155.5 +offset_top = -31.0 +offset_right = 155.5 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("2_l0re0") +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="DroneControls" type="HBoxContainer" parent="Control/MarginContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 10 +alignment = 1 +script = ExtResource("3_idi5h") + +[node name="SpawnDirector" type="Button" parent="Control/MarginContainer/DroneControls"] +layout_mode = 2 +tooltip_text = "Place a director drone, these are the main drones that define the path bees should follow. The order bees should visit these drones can be defined by clicking on them." +text = "Director" + +[node name="SpawnCollector" type="Button" parent="Control/MarginContainer/DroneControls"] +layout_mode = 2 +tooltip_text = "Place a drone that encourages bees to collect pollen near this area." +text = "Collector" + +[node name="SpawnDistractor" type="Button" parent="Control/MarginContainer/DroneControls"] +layout_mode = 2 +tooltip_text = "Place a distracting drone that will (hopefully) divert threats attention so they ignore the bees." +text = "Distractor" + +[node name="SpawnDancer" type="Button" parent="Control/MarginContainer/DroneControls"] +layout_mode = 2 +tooltip_text = "Spawn a dancing drone that will encourage bees to leave the hive. Best to put this near to the hive. " +text = "Dancer" + +[connection signal="pressed" from="Control/MarginContainer/DroneControls/SpawnDirector" to="." method="_on_spawn_director_pressed"] +[connection signal="pressed" from="Control/MarginContainer/DroneControls/SpawnCollector" to="." method="_on_spawn_collector_pressed"] +[connection signal="pressed" from="Control/MarginContainer/DroneControls/SpawnDistractor" to="." method="_on_spawn_distractor_pressed"] +[connection signal="pressed" from="Control/MarginContainer/DroneControls/SpawnDancer" to="." method="_on_spawn_dancer_pressed"] diff --git a/scenes/level_1.tscn b/scenes/level_1.tscn new file mode 100644 index 0000000..db49f61 --- /dev/null +++ b/scenes/level_1.tscn @@ -0,0 +1,200 @@ +[gd_scene load_steps=14 format=3 uid="uid://dalh10tit6qg"] + +[ext_resource type="PackedScene" uid="uid://d1uawawum16b0" path="res://scenes/elements/background.tscn" id="1_qvqyj"] +[ext_resource type="PackedScene" uid="uid://dyu4mucawjlu6" path="res://entities/Beehive.tscn" id="2_3g2rt"] +[ext_resource type="PackedScene" uid="uid://dwuc6byusf1r3" path="res://scenes/decor/bush.tscn" id="2_k5umc"] +[ext_resource type="PackedScene" uid="uid://d3mas42mbgec1" path="res://scenes/decor/tree.tscn" id="3_n0i7v"] +[ext_resource type="PackedScene" uid="uid://ddf2mkkw1trkj" path="res://scenes/elements/bee_spawner.tscn" id="3_yxsy7"] +[ext_resource type="PackedScene" uid="uid://b7eeptlk47ymd" path="res://ui/UiComponent.tscn" id="4_ms7q4"] +[ext_resource type="PackedScene" uid="uid://dj51rgpihnhi" path="res://scenes/decor/naked_tree.tscn" id="4_tb08n"] +[ext_resource type="PackedScene" uid="uid://eiyribk1ijcu" path="res://scenes/decor/mushroom.tscn" id="5_751s5"] +[ext_resource type="PackedScene" uid="uid://ct3c16xm33r2a" path="res://scenes/elements/drone_manager.tscn" id="5_fxm58"] +[ext_resource type="PackedScene" uid="uid://cwutwy11pityw" path="res://ui/LevelCompleteComponent.tscn" id="6_6j5sw"] +[ext_resource type="PackedScene" uid="uid://rnykx61eqxyk" path="res://scenes/decor/flower_1.tscn" id="11_o3nm3"] +[ext_resource type="PackedScene" uid="uid://b7quc1hxenh5p" path="res://scenes/decor/flower_2.tscn" id="12_cill4"] +[ext_resource type="Texture2D" uid="uid://cej11vpym3lju" path="res://resources/textures/leafs.png" id="13_d6pgo"] + +[node name="Level1" type="Node2D"] + +[node name="Grass" parent="." instance=ExtResource("1_qvqyj")] + +[node name="LevelDecor" type="Node" parent="."] + +[node name="BushGroup" type="Node2D" parent="LevelDecor"] + +[node name="Bush" parent="LevelDecor/BushGroup" instance=ExtResource("2_k5umc")] +position = Vector2(1110, 28) +scale = Vector2(0.25, 0.25) + +[node name="Bush3" parent="LevelDecor/BushGroup" instance=ExtResource("2_k5umc")] +position = Vector2(1272, 123) +scale = Vector2(0.25, 0.25) + +[node name="Bush2" parent="LevelDecor/BushGroup" instance=ExtResource("2_k5umc")] +position = Vector2(1214, 47) +rotation = 0.60912 +scale = Vector2(0.4, 0.4) + +[node name="BushGroup2" type="Node2D" parent="LevelDecor"] +position = Vector2(456, 1669) +rotation = 5.29882 + +[node name="Bush" parent="LevelDecor/BushGroup2" instance=ExtResource("2_k5umc")] +position = Vector2(1110, 28) +scale = Vector2(0.25, 0.25) + +[node name="Bush3" parent="LevelDecor/BushGroup2" instance=ExtResource("2_k5umc")] +position = Vector2(1272, 123) +scale = Vector2(0.25, 0.25) + +[node name="Bush2" parent="LevelDecor/BushGroup2" instance=ExtResource("2_k5umc")] +position = Vector2(1214, 47) +rotation = 0.60912 +scale = Vector2(0.4, 0.4) + +[node name="NakedTree" parent="LevelDecor" instance=ExtResource("4_tb08n")] +position = Vector2(53, 336) +scale = Vector2(0.6, 0.6) + +[node name="Tree" parent="LevelDecor" instance=ExtResource("3_n0i7v")] +position = Vector2(119, 100) +scale = Vector2(0.6, 0.6) + +[node name="Tree2" parent="LevelDecor" instance=ExtResource("3_n0i7v")] +position = Vector2(64, 473) +rotation = -0.42237 +scale = Vector2(0.4, 0.4) + +[node name="Mushrooms" type="Node2D" parent="LevelDecor"] + +[node name="Mushroom" parent="LevelDecor/Mushrooms" instance=ExtResource("5_751s5")] +position = Vector2(232, 250) +scale = Vector2(0.5, 0.5) + +[node name="Mushroom2" parent="LevelDecor/Mushrooms" instance=ExtResource("5_751s5")] +position = Vector2(252, 289) +rotation = 1.13446 +scale = Vector2(0.3, 0.3) + +[node name="Mushroom3" parent="LevelDecor/Mushrooms" instance=ExtResource("5_751s5")] +position = Vector2(260, 225) +rotation = 1.13446 +scale = Vector2(0.3, 0.3) + +[node name="Mushrooms2" type="Node2D" parent="LevelDecor"] +position = Vector2(1553, 732) +rotation = 2.81347 + +[node name="Mushroom" parent="LevelDecor/Mushrooms2" instance=ExtResource("5_751s5")] +position = Vector2(232, 250) +scale = Vector2(0.5, 0.5) + +[node name="Mushroom2" parent="LevelDecor/Mushrooms2" instance=ExtResource("5_751s5")] +position = Vector2(252, 289) +rotation = 1.13446 +scale = Vector2(0.3, 0.3) + +[node name="Mushroom3" parent="LevelDecor/Mushrooms2" instance=ExtResource("5_751s5")] +position = Vector2(260, 225) +rotation = 1.13446 +scale = Vector2(0.3, 0.3) + +[node name="Flowers" type="Node2D" parent="."] +position = Vector2(-96, 5) + +[node name="Flower1" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1080, 377) +scale = Vector2(0.5, 0.5) + +[node name="Flower4" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1040, 261) +scale = Vector2(0.5, 0.5) + +[node name="Flower5" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1037, 332) +scale = Vector2(0.5, 0.5) + +[node name="Flower6" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1135, 267) +scale = Vector2(0.5, 0.5) + +[node name="Flower7" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1154, 353) +scale = Vector2(0.5, 0.5) + +[node name="Flower8" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1006, 396) +scale = Vector2(0.5, 0.5) + +[node name="Flower9" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1120, 404) +scale = Vector2(0.5, 0.5) + +[node name="Flower10" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1090, 275) +scale = Vector2(0.5, 0.5) + +[node name="Flower11" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1091, 213) +scale = Vector2(0.5, 0.5) + +[node name="Flower12" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1022, 453) +scale = Vector2(0.5, 0.5) + +[node name="Flower13" parent="Flowers" instance=ExtResource("11_o3nm3")] +position = Vector2(1103, 444) +scale = Vector2(0.5, 0.5) + +[node name="Flower2" parent="Flowers" instance=ExtResource("12_cill4")] +position = Vector2(1059, 419) +scale = Vector2(0.5, 0.5) + +[node name="Flower3" parent="Flowers" instance=ExtResource("12_cill4")] +position = Vector2(1094, 320) +scale = Vector2(0.5, 0.5) + +[node name="Beehive" parent="." instance=ExtResource("2_3g2rt")] +position = Vector2(629, 360) + +[node name="BeeSpawner" parent="." instance=ExtResource("3_yxsy7")] + +[node name="UiComponent" parent="." instance=ExtResource("4_ms7q4")] +z_index = 20 +offset_right = 1280.0 +offset_bottom = 720.0 + +[node name="DroneManager" parent="." instance=ExtResource("5_fxm58")] + +[node name="LevelCompleteComponent" parent="." instance=ExtResource("6_6j5sw")] +visible = false +z_index = 999 +offset_right = 1280.0 +offset_bottom = 720.0 + +[node name="ParallaxBackground" type="ParallaxBackground" parent="."] +layer = 100 + +[node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground"] +position = Vector2(3, -13) + +[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer"] +position = Vector2(580, 51) +texture = ExtResource("13_d6pgo") + +[node name="Sprite2D2" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer"] +position = Vector2(625, 684) +texture = ExtResource("13_d6pgo") +flip_v = true + +[node name="Sprite2D3" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer"] +position = Vector2(38, 641) +rotation = 1.5708 +texture = ExtResource("13_d6pgo") +flip_v = true + +[node name="Sprite2D4" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer"] +position = Vector2(1241, 670) +rotation = 1.5708 +texture = ExtResource("13_d6pgo") +flip_h = true diff --git a/scenes/scripts/bee_spawner.gd b/scenes/scripts/bee_spawner.gd index 58ab698..a92121e 100644 --- a/scenes/scripts/bee_spawner.gd +++ b/scenes/scripts/bee_spawner.gd @@ -5,6 +5,7 @@ var bee = preload("res://entities/Bee.tscn") @onready var beehive = get_node("../Beehive") @onready var bee_sound = get_node("BigBeeSound") +@onready var small_bee_sound = get_node("BeeSound") var bee_count = 0 var max_bees = 100 @@ -26,9 +27,12 @@ func _process(delta): bee_count += 1 Log.pr("Bee count: " + str(bee_count)) + if bee_count > 0 and small_bee_sound.playing == false: + small_bee_sound.play() + func _physics_process(delta): bee_sound_timer += delta - if bee_sound_timer > 1.0: + if bee_sound_timer > 1.0 and bee_count > 0: bee_sound_timer = 0.0 - if randf() > 0.9: - bee_sound.play() \ No newline at end of file + if randf() > 0.9 and bee_sound.playing == false: + bee_sound.play() diff --git a/scenes/test_level.tscn b/scenes/test_level.tscn index 751e0db..5beef56 100644 --- a/scenes/test_level.tscn +++ b/scenes/test_level.tscn @@ -1,18 +1,16 @@ -[gd_scene load_steps=18 format=3 uid="uid://mk5n0hrwk4yi"] +[gd_scene load_steps=16 format=3 uid="uid://mk5n0hrwk4yi"] [ext_resource type="Script" path="res://scenes/scripts/test_level.gd" id="1_lgt1m"] [ext_resource type="PackedScene" uid="uid://dyu4mucawjlu6" path="res://entities/Beehive.tscn" id="2_5ueyo"] -[ext_resource type="Script" path="res://scenes/scripts/drone_manager.gd" id="2_474nc"] -[ext_resource type="Script" path="res://scenes/scripts/bee_spawner.gd" id="2_qqqq4"] +[ext_resource type="PackedScene" uid="uid://d1uawawum16b0" path="res://scenes/elements/background.tscn" id="2_w0b0n"] [ext_resource type="Script" path="res://scenes/scripts/pesticide.gd" id="3_gg2a6"] -[ext_resource type="Script" path="res://scenes/scripts/drone_controls.gd" id="3_rqkyv"] +[ext_resource type="Texture2D" uid="uid://cgwtb4gxypaj1" path="res://resources/textures/tree.png" id="3_hwsnj"] [ext_resource type="PackedScene" uid="uid://cfhoi2rqxa3up" path="res://entities/Dog.tscn" id="4_xlyy4"] -[ext_resource type="Theme" uid="uid://cpkvret5gi66h" path="res://resources/theme/game_theme.tres" id="6_1kbwe"] -[ext_resource type="AudioStream" uid="uid://jdk681m35wt4" path="res://resources/SFX/bee.ogg" id="6_gqjhy"] [ext_resource type="PackedScene" uid="uid://b7eeptlk47ymd" path="res://ui/UiComponent.tscn" id="6_xuemm"] -[ext_resource type="AudioStream" uid="uid://dpgl5huwc4yl8" path="res://resources/SFX/mixkit-big-bee-hard-flying-sound-42.wav" id="7_y3gwr"] [ext_resource type="PackedScene" uid="uid://cwutwy11pityw" path="res://ui/LevelCompleteComponent.tscn" id="8_4k5cm"] +[ext_resource type="PackedScene" uid="uid://ddf2mkkw1trkj" path="res://scenes/elements/bee_spawner.tscn" id="8_admu4"] [ext_resource type="Script" path="res://ui/scripts/level_complete_component.gd" id="9_qrlto"] +[ext_resource type="PackedScene" uid="uid://ct3c16xm33r2a" path="res://scenes/elements/drone_manager.tscn" id="10_rmaj1"] [ext_resource type="AudioStream" uid="uid://bgcbd6xf0lyrr" path="res://resources/music/bee_background.ogg" id="12_5cn5j"] [ext_resource type="AudioStream" uid="uid://dvsjpsh5dyixq" path="res://resources/SFX/mixkit-european-spring-forest-ambience-1219.wav" id="13_nttuq"] @@ -25,10 +23,18 @@ radius = 252.15 [node name="TestLevel" type="Node2D"] script = ExtResource("1_lgt1m") -[node name="Background" type="Polygon2D" parent="."] -position = Vector2(52, -26) -color = Color(0.329412, 0.494118, 0.392157, 1) -polygon = PackedVector2Array(-141, -86, 1456, -97, 1337, 753, -193, 771) +[node name="Background" parent="." instance=ExtResource("2_w0b0n")] + +[node name="Tree" type="Sprite2D" parent="."] +position = Vector2(1073, 529) +scale = Vector2(0.5, 0.5) +texture = ExtResource("3_hwsnj") + +[node name="Tree2" type="Sprite2D" parent="Tree"] +self_modulate = Color(0, 0, 0, 0.0784314) +show_behind_parent = true +position = Vector2(10, 10) +texture = ExtResource("3_hwsnj") [node name="Beehive" parent="." groups=["beehive"] instance=ExtResource("2_5ueyo")] unique_name_in_owner = true @@ -68,86 +74,19 @@ shape = SubResource("CircleShape2D_ewfly") [node name="Dog" parent="." instance=ExtResource("4_xlyy4")] position = Vector2(705, 491) -[node name="BeeSpawner" type="Node2D" parent="."] -script = ExtResource("2_qqqq4") - -[node name="BeeSound" type="AudioStreamPlayer" parent="BeeSpawner"] -stream = ExtResource("6_gqjhy") -autoplay = true - -[node name="BigBeeSound" type="AudioStreamPlayer" parent="BeeSpawner"] -stream = ExtResource("7_y3gwr") -volume_db = -10.138 +[node name="BeeSpawner" parent="." instance=ExtResource("8_admu4")] [node name="UiComponent" parent="." instance=ExtResource("6_xuemm")] offset_right = 1280.0 offset_bottom = 720.0 -[node name="DroneManager" type="Node2D" parent="." groups=["dronemanager"]] +[node name="DroneManager" parent="." instance=ExtResource("10_rmaj1")] unique_name_in_owner = true -z_index = 50 -script = ExtResource("2_474nc") - -[node name="SpawnedDrones" type="Node2D" parent="DroneManager"] - -[node name="Control" type="Control" parent="DroneManager"] -top_level = true -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -metadata/_edit_use_anchors_ = true - -[node name="MarginContainer" type="MarginContainer" parent="DroneManager/Control"] -layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 -anchor_top = 1.0 -anchor_right = 0.5 -anchor_bottom = 1.0 -offset_left = -155.5 -offset_top = -31.0 -offset_right = 155.5 -grow_horizontal = 2 -grow_vertical = 0 -theme = ExtResource("6_1kbwe") -theme_override_constants/margin_left = 10 -theme_override_constants/margin_top = 10 -theme_override_constants/margin_right = 10 -theme_override_constants/margin_bottom = 10 - -[node name="DroneControls" type="HBoxContainer" parent="DroneManager/Control/MarginContainer"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_vertical = 10 -alignment = 1 -script = ExtResource("3_rqkyv") - -[node name="SpawnDirector" type="Button" parent="DroneManager/Control/MarginContainer/DroneControls"] -layout_mode = 2 -tooltip_text = "Place a director drone, these are the main drones that define the path bees should follow. The order bees should visit these drones can be defined by clicking on them." -text = "Director" - -[node name="SpawnCollector" type="Button" parent="DroneManager/Control/MarginContainer/DroneControls"] -layout_mode = 2 -tooltip_text = "Place a drone that encourages bees to collect pollen near this area." -text = "Collector" - -[node name="SpawnDistractor" type="Button" parent="DroneManager/Control/MarginContainer/DroneControls"] -layout_mode = 2 -tooltip_text = "Place a distracting drone that will (hopefully) divert threats attention so they ignore the bees." -text = "Distractor" - -[node name="SpawnDancer" type="Button" parent="DroneManager/Control/MarginContainer/DroneControls"] -layout_mode = 2 -tooltip_text = "Spawn a dancing drone that will encourage bees to leave the hive. Best to put this near to the hive. " -text = "Dancer" [node name="LevelCompleteComponent" parent="." instance=ExtResource("8_4k5cm")] unique_name_in_owner = true visible = false +z_index = 999 offset_right = 1280.0 offset_bottom = 720.0 script = ExtResource("9_qrlto") @@ -160,8 +99,3 @@ autoplay = true [node name="AudioStreamPlayer2" type="AudioStreamPlayer" parent="."] stream = ExtResource("13_nttuq") autoplay = true - -[connection signal="pressed" from="DroneManager/Control/MarginContainer/DroneControls/SpawnDirector" to="DroneManager" method="_on_spawn_director_pressed"] -[connection signal="pressed" from="DroneManager/Control/MarginContainer/DroneControls/SpawnCollector" to="DroneManager" method="_on_spawn_collector_pressed"] -[connection signal="pressed" from="DroneManager/Control/MarginContainer/DroneControls/SpawnDistractor" to="DroneManager" method="_on_spawn_distractor_pressed"] -[connection signal="pressed" from="DroneManager/Control/MarginContainer/DroneControls/SpawnDancer" to="DroneManager" method="_on_spawn_dancer_pressed"]