Graphics pass

This commit is contained in:
Dan 2024-05-07 15:51:31 +01:00
parent 51af0ea751
commit fb47693a99
42 changed files with 821 additions and 95 deletions

View file

@ -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="."]

View file

@ -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)

View file

@ -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="."]

View file

@ -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"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View file

@ -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

BIN
resources/textures/bush.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View file

@ -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

BIN
resources/textures/tree.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View file

@ -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

BIN
resources/textures/veg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

View file

@ -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

13
scenes/decor/bush.tscn Normal file
View file

@ -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")

View file

@ -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

View file

@ -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

View file

@ -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")

View file

@ -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")

13
scenes/decor/tree.tscn Normal file
View file

@ -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")

View file

@ -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)

View file

@ -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

View file

@ -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"]

200
scenes/level_1.tscn Normal file
View file

@ -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

View file

@ -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:
if randf() > 0.9 and bee_sound.playing == false:
bee_sound.play()

View file

@ -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"]