diff --git a/2D Assets/transformers/transformer_A-Photoroom.png b/2D Assets/transformers/transformer_A-Photoroom.png new file mode 100644 index 0000000..973a8f7 Binary files /dev/null and b/2D Assets/transformers/transformer_A-Photoroom.png differ diff --git a/2D Assets/transformers/transformer_A-Photoroom.png.import b/2D Assets/transformers/transformer_A-Photoroom.png.import new file mode 100644 index 0000000..bd552fe --- /dev/null +++ b/2D Assets/transformers/transformer_A-Photoroom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgl53seeldvkw" +path="res://.godot/imported/transformer_A-Photoroom.png-6c1550eb71993168fa73cc44f06db8e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://2D Assets/transformers/transformer_A-Photoroom.png" +dest_files=["res://.godot/imported/transformer_A-Photoroom.png-6c1550eb71993168fa73cc44f06db8e8.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/2D Assets/transformers/transformer_A.png b/2D Assets/transformers/transformer_A.png new file mode 100644 index 0000000..8d7f324 Binary files /dev/null and b/2D Assets/transformers/transformer_A.png differ diff --git a/2D Assets/transformers/transformer_A.png.import b/2D Assets/transformers/transformer_A.png.import new file mode 100644 index 0000000..04fef2f --- /dev/null +++ b/2D Assets/transformers/transformer_A.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5c5u8ey1w2g1" +path="res://.godot/imported/transformer_A.png-83ed558d54b5db2719affd81c9c39a6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://2D Assets/transformers/transformer_A.png" +dest_files=["res://.godot/imported/transformer_A.png-83ed558d54b5db2719affd81c9c39a6e.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/2D Assets/transformers/transformer_B-Photoroom.png b/2D Assets/transformers/transformer_B-Photoroom.png new file mode 100644 index 0000000..3b5c2d6 Binary files /dev/null and b/2D Assets/transformers/transformer_B-Photoroom.png differ diff --git a/2D Assets/transformers/transformer_B-Photoroom.png.import b/2D Assets/transformers/transformer_B-Photoroom.png.import new file mode 100644 index 0000000..5f2cb61 --- /dev/null +++ b/2D Assets/transformers/transformer_B-Photoroom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtppipj5vh7yx" +path="res://.godot/imported/transformer_B-Photoroom.png-611cce77c02e838f98037e3cc51ce53d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://2D Assets/transformers/transformer_B-Photoroom.png" +dest_files=["res://.godot/imported/transformer_B-Photoroom.png-611cce77c02e838f98037e3cc51ce53d.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/2D Assets/transformers/transformer_B.png b/2D Assets/transformers/transformer_B.png new file mode 100644 index 0000000..99609ab Binary files /dev/null and b/2D Assets/transformers/transformer_B.png differ diff --git a/2D Assets/transformers/transformer_B.png.import b/2D Assets/transformers/transformer_B.png.import new file mode 100644 index 0000000..f0500a6 --- /dev/null +++ b/2D Assets/transformers/transformer_B.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://uogw8a5da51y" +path="res://.godot/imported/transformer_B.png-f827aedac76be1313103b9e905422cf0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://2D Assets/transformers/transformer_B.png" +dest_files=["res://.godot/imported/transformer_B.png-f827aedac76be1313103b9e905422cf0.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/Fonts/Sigmar-Regular.ttf b/Fonts/Sigmar-Regular.ttf new file mode 100644 index 0000000..d93d2e1 Binary files /dev/null and b/Fonts/Sigmar-Regular.ttf differ diff --git a/Fonts/Sigmar-Regular.ttf.import b/Fonts/Sigmar-Regular.ttf.import new file mode 100644 index 0000000..779ce70 --- /dev/null +++ b/Fonts/Sigmar-Regular.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://btxwuo5y3bcni" +path="res://.godot/imported/Sigmar-Regular.ttf-95abda0cc5f508def45eed9e74058229.fontdata" + +[deps] + +source_file="res://Fonts/Sigmar-Regular.ttf" +dest_files=["res://.godot/imported/Sigmar-Regular.ttf-95abda0cc5f508def45eed9e74058229.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/Scenes/alt_sinks.tscn b/Scenes/alt_sinks.tscn new file mode 100644 index 0000000..0f6f329 --- /dev/null +++ b/Scenes/alt_sinks.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=3 uid="uid://d1aemkotig1oa"] + +[ext_resource type="Script" path="res://Scripts/alt_sinks.gd" id="1_x2mkc"] +[ext_resource type="Script" path="res://Scripts/event_box_clickable.gd" id="2_vwwes"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_i7ega"] +size = Vector2(420.37, 243.111) + +[node name="Alt_sinks" type="Sprite2D"] +scale = Vector2(0.54, 0.54) +script = ExtResource("1_x2mkc") +sinkType = "Red" + +[node name="Alt_sink_area" type="Area2D" parent="."] +script = ExtResource("2_vwwes") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Alt_sink_area"] +position = Vector2(1.85186, -0.462963) +scale = Vector2(0.995, 0.995) +shape = SubResource("RectangleShape2D_i7ega") + +[node name="Panel" type="Panel" parent="."] +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 diff --git a/Scenes/another_level.tscn b/Scenes/another_level.tscn new file mode 100644 index 0000000..bc2583f --- /dev/null +++ b/Scenes/another_level.tscn @@ -0,0 +1,81 @@ +[gd_scene load_steps=9 format=3 uid="uid://lm132yqd2mok"] + +[ext_resource type="Texture2D" uid="uid://crbbdu26tlg2k" path="res://2D Assets/background.png" id="1_p2ayk"] +[ext_resource type="PackedScene" uid="uid://d1aemkotig1oa" path="res://Scenes/alt_sinks.tscn" id="1_ui11a"] +[ext_resource type="PackedScene" uid="uid://ow36qogie5w4" path="res://Scenes/source.tscn" id="2_nxu3u"] +[ext_resource type="Script" path="res://Scripts/event_button.gd" id="3_7lcje"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="4_41ki5"] +[ext_resource type="PackedScene" uid="uid://cuopmfdfv28sw" path="res://Scenes/draggable_transformer.tscn" id="5_vqv0r"] +[ext_resource type="PackedScene" uid="uid://bquha0225l1ju" path="res://Scenes/draggable_filter_blue.tscn" id="7_u8lon"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2vyfm"] +bg_color = Color(0.205842, 0.197159, 0.280285, 1) +corner_radius_top_left = 15 +corner_radius_top_right = 15 +corner_radius_bottom_right = 15 +corner_radius_bottom_left = 15 + +[node name="another_level" type="Node2D"] + +[node name="Sprite2D" type="Sprite2D" parent="."] +z_index = -2 +position = Vector2(605, 394) +texture = ExtResource("1_p2ayk") + +[node name="Alt_sinks" parent="." instance=ExtResource("1_ui11a")] +position = Vector2(981, 552) +scale = Vector2(0.365, 0.365) +sourcePosition = Vector2(502.833, 131.333) + +[node name="Alt_sinks3" parent="." instance=ExtResource("1_ui11a")] +position = Vector2(537, 576) +scale = Vector2(0.365, 0.365) +sourcePosition = Vector2(502.833, 131.333) + +[node name="Alt_sinks2" parent="." instance=ExtResource("1_ui11a")] +position = Vector2(214, 544) +scale = Vector2(0.365, 0.365) +sourcePosition = Vector2(502.833, 131.333) +sinkType = "Green" + +[node name="Source" parent="." instance=ExtResource("2_nxu3u")] +modulate = Color(0.521141, 0.521141, 0.521141, 1) +position = Vector2(520, 162) +scale = Vector2(0.6, 0.6) + +[node name="Control" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 +offset_left = 1526.67 +offset_top = 761.667 +offset_right = 1566.67 +offset_bottom = 801.667 +script = ExtResource("3_7lcje") + +[node name="Button" type="Button" parent="Control"] +layout_mode = 0 +offset_left = -762.67 +offset_top = -684.667 +offset_right = -420.67 +offset_bottom = -552.667 +theme_override_styles/normal = SubResource("StyleBoxFlat_2vyfm") + +[node name="RichTextLabel" type="RichTextLabel" parent="Control/Button"] +layout_mode = 0 +offset_left = 4.99652 +offset_top = 23.333 +offset_right = 342.997 +offset_bottom = 125.333 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("4_41ki5") +theme_override_font_sizes/normal_font_size = 50 +bbcode_enabled = true +text = "[center]START" + +[node name="DraggableTransformerReder_red" parent="." instance=ExtResource("5_vqv0r")] +position = Vector2(278, 298) + +[node name="Draggable Filter" parent="." instance=ExtResource("7_u8lon")] +position = Vector2(800.333, 358) + +[connection signal="pressed" from="Control/Button" to="Control" method="_on_button_pressed"] diff --git a/Scenes/boxClick.tscn b/Scenes/boxClick.tscn index 3383e33..02da69f 100644 --- a/Scenes/boxClick.tscn +++ b/Scenes/boxClick.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://c8lin6dur1umi"] +[gd_scene load_steps=16 format=3 uid="uid://c8lin6dur1umi"] [ext_resource type="Texture2D" uid="uid://crbbdu26tlg2k" path="res://2D Assets/background.png" id="1_fdm6s"] [ext_resource type="Texture2D" uid="uid://dlnjpu1sbekqf" path="res://2D Assets/conveyer texture.png" id="2_ocbiy"] @@ -11,10 +11,25 @@ [ext_resource type="Texture2D" uid="uid://cs6prh1shv4bh" path="res://2D Assets/funnels/blueFunnel.png" id="10_w4xqm"] [ext_resource type="Script" path="res://Scripts/draggable_filter.gd" id="10_xwwl6"] [ext_resource type="Texture2D" uid="uid://bpkn0kgyf867u" path="res://2D Assets/funnels/redFunnel.png" id="11_2hn41"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="11_qmrvh"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_e8kq8"] size = Vector2(160, 185) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yukuu"] +bg_color = Color(0.396802, 0.593587, 0.949038, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ahp62"] +bg_color = Color(0.900372, 0.458096, 0.249774, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + [node name="base" type="Node2D"] scale = Vector2(0.6, 0.6) @@ -103,6 +118,25 @@ shape = SubResource("RectangleShape2D_e8kq8") position = Vector2(0.333374, 0.333313) texture = ExtResource("10_w4xqm") +[node name="Panel" type="Panel" parent="Draggable Filter"] +visible = false +offset_left = 71.667 +offset_top = -120.0 +offset_right = 249.667 +offset_bottom = -62.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_yukuu") + +[node name="RichTextLabel" type="RichTextLabel" parent="Draggable Filter/Panel"] +layout_mode = 0 +offset_left = 13.3333 +offset_top = 10.0 +offset_right = 163.333 +offset_bottom = 50.0 +theme_override_fonts/normal_font = ExtResource("11_qmrvh") +theme_override_font_sizes/normal_font_size = 22 +bbcode_enabled = true +text = "BLUE FILTER" + [node name="Draggable Filter2" type="Area2D" parent="."] position = Vector2(286.667, 431.667) script = ExtResource("10_xwwl6") @@ -116,6 +150,26 @@ shape = SubResource("RectangleShape2D_e8kq8") position = Vector2(0.333374, 0.333313) texture = ExtResource("11_2hn41") +[node name="Panel" type="Panel" parent="Draggable Filter2"] +visible = false +offset_left = 84.9997 +offset_top = -115.0 +offset_right = 263.0 +offset_bottom = -57.0003 +theme_override_styles/panel = SubResource("StyleBoxFlat_ahp62") + +[node name="RichTextLabel" type="RichTextLabel" parent="Draggable Filter2/Panel"] +layout_mode = 0 +offset_left = 25.0 +offset_top = 10.0 +offset_right = 175.0 +offset_bottom = 50.0 +theme_override_fonts/normal_font = ExtResource("11_qmrvh") +theme_override_font_sizes/bold_italics_font_size = 10 +theme_override_font_sizes/normal_font_size = 22 +bbcode_enabled = true +text = "RED FILTER" + [connection signal="pressed" from="Control/Button" to="Control" method="_on_button_pressed"] [connection signal="pressed" from="Control2/Button" to="Control2" method="_on_button_pressed"] [connection signal="area_entered" from="Draggable Filter" to="Draggable Filter" method="_on_area_entered"] diff --git a/Scenes/box_b.tscn b/Scenes/box_b.tscn index 9084576..4271a8e 100644 --- a/Scenes/box_b.tscn +++ b/Scenes/box_b.tscn @@ -1,12 +1,20 @@ -[gd_scene load_steps=5 format=3 uid="uid://cg1qlr4r42xs6"] +[gd_scene load_steps=7 format=3 uid="uid://cg1qlr4r42xs6"] [ext_resource type="Texture2D" uid="uid://cjn14twvcwa8y" path="res://2D Assets/boxes/blueBox.png" id="1_mjw0e"] [ext_resource type="Script" path="res://Scripts/event_box.gd" id="2_3md8f"] [ext_resource type="Script" path="res://Scripts/event_box_clickable.gd" id="2_raetl"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="4_q8t0i"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_6uvdh"] size = Vector2(211.428, 211.429) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ypugr"] +bg_color = Color(0.31651, 0.60664, 0.963515, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + [node name="BoxB" type="Sprite2D" groups=["Box"]] position = Vector2(947.833, 182.333) texture = ExtResource("1_mjw0e") @@ -20,3 +28,24 @@ script = ExtResource("2_raetl") position = Vector2(0.000366211, 0) scale = Vector2(0.7, 0.7) shape = SubResource("RectangleShape2D_6uvdh") + +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 52.167 +offset_top = -149.333 +offset_right = 199.167 +offset_bottom = -98.333 +theme_override_styles/panel = SubResource("StyleBoxFlat_ypugr") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 24.0 +offset_top = 4.0 +offset_right = 190.0 +offset_bottom = 43.0 +theme_override_fonts/normal_font = ExtResource("4_q8t0i") +theme_override_font_sizes/normal_font_size = 22 +text = "Event B" + +[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"] +[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"] diff --git a/Scenes/conveyerline.tscn b/Scenes/conveyerline.tscn new file mode 100644 index 0000000..1742df3 --- /dev/null +++ b/Scenes/conveyerline.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://cslgikttjtw4u"] + +[ext_resource type="Texture2D" uid="uid://dlnjpu1sbekqf" path="res://2D Assets/conveyer texture.png" id="1_hsuso"] + +[node name="conveyerline" type="Line2D"] +z_index = -1 +texture_repeat = 2 +width = 100.0 +texture = ExtResource("1_hsuso") +texture_mode = 1 diff --git a/Scenes/draggable_filter_blue.tscn b/Scenes/draggable_filter_blue.tscn index b57248b..47cf112 100644 --- a/Scenes/draggable_filter_blue.tscn +++ b/Scenes/draggable_filter_blue.tscn @@ -1,11 +1,19 @@ -[gd_scene load_steps=4 format=3 uid="uid://bquha0225l1ju"] +[gd_scene load_steps=6 format=3 uid="uid://bquha0225l1ju"] [ext_resource type="Script" path="res://Scripts/draggable_filter.gd" id="1_nmkcu"] [ext_resource type="Texture2D" uid="uid://cs6prh1shv4bh" path="res://2D Assets/funnels/blueFunnel.png" id="2_bv34i"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="3_w0egh"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_e8kq8"] size = Vector2(160, 185) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0hggi"] +bg_color = Color(0.396802, 0.593587, 0.949038, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + [node name="Draggable Filter" type="Area2D"] position = Vector2(288.333, 205) script = ExtResource("1_nmkcu") @@ -19,6 +27,25 @@ shape = SubResource("RectangleShape2D_e8kq8") position = Vector2(0.333374, 0.333313) texture = ExtResource("2_bv34i") +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 71.667 +offset_top = -120.0 +offset_right = 249.667 +offset_bottom = -62.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_0hggi") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 13.3333 +offset_top = 10.0 +offset_right = 163.333 +offset_bottom = 50.0 +theme_override_fonts/normal_font = ExtResource("3_w0egh") +theme_override_font_sizes/normal_font_size = 22 +bbcode_enabled = true +text = "BLUE FILTER" + [connection signal="area_entered" from="." to="." method="_on_area_entered"] [connection signal="body_shape_exited" from="." to="." method="_on_body_shape_exited"] [connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] diff --git a/Scenes/draggable_filter_red.tscn b/Scenes/draggable_filter_red.tscn index e32dbea..9add5f6 100644 --- a/Scenes/draggable_filter_red.tscn +++ b/Scenes/draggable_filter_red.tscn @@ -1,11 +1,19 @@ -[gd_scene load_steps=4 format=3 uid="uid://bi4a6dl8q6rnj"] +[gd_scene load_steps=6 format=3 uid="uid://bi4a6dl8q6rnj"] [ext_resource type="Script" path="res://Scripts/draggable_filter.gd" id="1_rdiht"] [ext_resource type="Texture2D" uid="uid://bpkn0kgyf867u" path="res://2D Assets/funnels/redFunnel.png" id="2_vef61"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="3_0m55t"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_e8kq8"] size = Vector2(160, 185) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_w5j7l"] +bg_color = Color(0.900372, 0.458096, 0.249774, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + [node name="Draggable Filter" type="Area2D"] position = Vector2(288.333, 205) script = ExtResource("1_rdiht") @@ -19,6 +27,26 @@ shape = SubResource("RectangleShape2D_e8kq8") position = Vector2(0.333374, 0.333313) texture = ExtResource("2_vef61") +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 84.9997 +offset_top = -115.0 +offset_right = 263.0 +offset_bottom = -57.0003 +theme_override_styles/panel = SubResource("StyleBoxFlat_w5j7l") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 25.0 +offset_top = 10.0 +offset_right = 175.0 +offset_bottom = 50.0 +theme_override_fonts/normal_font = ExtResource("3_0m55t") +theme_override_font_sizes/bold_italics_font_size = 10 +theme_override_font_sizes/normal_font_size = 22 +bbcode_enabled = true +text = "RED FILTER" + [connection signal="area_entered" from="." to="." method="_on_area_entered"] [connection signal="body_shape_exited" from="." to="." method="_on_body_shape_exited"] [connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] diff --git a/Scenes/draggable_transformer.tscn b/Scenes/draggable_transformer.tscn new file mode 100644 index 0000000..6c2ee91 --- /dev/null +++ b/Scenes/draggable_transformer.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=9 format=3 uid="uid://cuopmfdfv28sw"] + +[ext_resource type="Script" path="res://Scripts/draggable_transformer.gd" id="1_i1cdg"] +[ext_resource type="Texture2D" uid="uid://cgl53seeldvkw" path="res://2D Assets/transformers/transformer_A-Photoroom.png" id="2_dxdq5"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="3_5lbdv"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_p775c"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kn82s"] +bg_color = Color(0.870808, 0, 0.25866, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="Animation" id="Animation_heecm"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="Animation" id="Animation_ss6uj"] +resource_name = "transforming" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 6.28319] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3q77y"] +_data = { +"RESET": SubResource("Animation_heecm"), +"transforming": SubResource("Animation_ss6uj") +} + +[node name="DraggableTransformerReder_red" type="Area2D"] +script = ExtResource("1_i1cdg") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +scale = Vector2(9, 9) +shape = SubResource("RectangleShape2D_p775c") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.35, 0.35) +texture = ExtResource("2_dxdq5") + +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 84.0 +offset_top = -134.0 +offset_right = 234.0 +offset_bottom = -76.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_kn82s") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_top = 5.0 +offset_right = 152.0 +offset_bottom = 144.0 +theme_override_fonts/normal_font = ExtResource("3_5lbdv") +theme_override_font_sizes/normal_font_size = 22 +text = "Transformer " + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_3q77y") +} + +[connection signal="area_entered" from="." to="." method="_on_area_entered"] +[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"] diff --git a/Scenes/event_box.tscn b/Scenes/event_box.tscn index 08fcb58..71be3c8 100644 --- a/Scenes/event_box.tscn +++ b/Scenes/event_box.tscn @@ -1,11 +1,15 @@ -[gd_scene load_steps=4 format=3 uid="uid://p2kk0a6bpmai"] +[gd_scene load_steps=6 format=3 uid="uid://p2kk0a6bpmai"] [ext_resource type="Texture2D" uid="uid://b00w453hqw7wx" path="res://2D Assets/boxes/redBox.png" id="1_7cv2t"] [ext_resource type="Script" path="res://Scripts/event_box.gd" id="2_3qheb"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="3_bnkqe"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_6uvdh"] size = Vector2(211.428, 211.429) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dub7r"] +bg_color = Color(0.784314, 0.392157, 0.392157, 1) + [node name="BoxA" type="Sprite2D" groups=["Box"]] position = Vector2(947.833, 182.333) texture = ExtResource("1_7cv2t") @@ -18,3 +22,24 @@ boxType = "Red" position = Vector2(0.000366211, 0) scale = Vector2(0.7, 0.7) shape = SubResource("RectangleShape2D_6uvdh") + +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 64.167 +offset_top = -134.333 +offset_right = 211.167 +offset_bottom = -83.333 +theme_override_styles/panel = SubResource("StyleBoxFlat_dub7r") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 29.0 +offset_top = 4.0 +offset_right = 133.0 +offset_bottom = 44.0 +theme_override_fonts/normal_font = ExtResource("3_bnkqe") +theme_override_font_sizes/normal_font_size = 22 +text = "Event B" + +[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"] +[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"] diff --git a/Scenes/random_event.tscn b/Scenes/random_event.tscn new file mode 100644 index 0000000..439ffd8 --- /dev/null +++ b/Scenes/random_event.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=5 format=3 uid="uid://cw65q31av0bkb"] + +[ext_resource type="Script" path="res://Scripts/random_event.gd" id="1_qgvmb"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="3_m8q84"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_r2f0g"] +size = Vector2(211.428, 211.429) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g4rqk"] +bg_color = Color(0.31651, 0.60664, 0.963515, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[node name="random_event" type="Sprite2D"] +z_index = 2 +scale = Vector2(0.6, 0.6) +script = ExtResource("1_qgvmb") + +[node name="Area2D" type="Area2D" parent="." groups=["Box"]] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2(0.000366211, 0) +shape = SubResource("RectangleShape2D_r2f0g") + +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 52.167 +offset_top = -149.333 +offset_right = 199.167 +offset_bottom = -98.333 +theme_override_styles/panel = SubResource("StyleBoxFlat_g4rqk") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 24.0 +offset_top = 4.0 +offset_right = 190.0 +offset_bottom = 43.0 +theme_override_fonts/normal_font = ExtResource("3_m8q84") +theme_override_font_sizes/normal_font_size = 22 +text = "Event B" diff --git a/Scenes/sink.tscn b/Scenes/sink.tscn index 28c867d..3101c04 100644 --- a/Scenes/sink.tscn +++ b/Scenes/sink.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=5 format=3 uid="uid://whu4rwgsyl8u"] +[gd_scene load_steps=6 format=3 uid="uid://whu4rwgsyl8u"] [ext_resource type="Texture2D" uid="uid://cgnmmfc1l4d5d" path="res://2D Assets/sinks/sink.png" id="1_0ywo5"] [ext_resource type="Script" path="res://Scripts/SinkClick.gd" id="2_16xt0"] [ext_resource type="Script" path="res://Scripts/sink.gd" id="2_jjj2o"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="4_0xkgb"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_7l3ci"] size = Vector2(443.333, 408.333) @@ -20,4 +21,22 @@ script = ExtResource("2_16xt0") position = Vector2(0, -5.83331) shape = SubResource("RectangleShape2D_7l3ci") -[connection signal="area_entered" from="Area2D" to="Area2D" method="_on_area_entered"] +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 150.333 +offset_top = -243.333 +offset_right = 328.333 +offset_bottom = -158.333 + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 54.333 +offset_top = 18.667 +offset_right = 274.333 +offset_bottom = 94.667 +theme_override_fonts/normal_font = ExtResource("4_0xkgb") +theme_override_font_sizes/normal_font_size = 26 +text = "SINK" + +[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"] +[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"] diff --git a/Scenes/source.tscn b/Scenes/source.tscn new file mode 100644 index 0000000..f7b29cc --- /dev/null +++ b/Scenes/source.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=7 format=3 uid="uid://ow36qogie5w4"] + +[ext_resource type="Texture2D" uid="uid://dlnjpu1sbekqf" path="res://2D Assets/conveyer texture.png" id="1_yedhy"] +[ext_resource type="Script" path="res://Scripts/source.gd" id="2_b4e2c"] +[ext_resource type="Script" path="res://Scripts/event_box_clickable.gd" id="3_rq3xr"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="4_ttw4u"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_6uvdh"] +size = Vector2(211.428, 211.429) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ypugr"] +bg_color = Color(0.31651, 0.60664, 0.963515, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[node name="Source" type="Sprite2D" groups=["Box"]] +position = Vector2(947.833, 182.333) +texture = ExtResource("1_yedhy") +script = ExtResource("2_b4e2c") + +[node name="source_area" type="Area2D" parent="." groups=["Box"]] +script = ExtResource("3_rq3xr") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="source_area"] +position = Vector2(0.000366211, 0) +shape = SubResource("RectangleShape2D_6uvdh") + +[node name="Panel" type="Panel" parent="."] +visible = false +offset_left = 52.167 +offset_top = -149.333 +offset_right = 199.167 +offset_bottom = -98.333 +theme_override_styles/panel = SubResource("StyleBoxFlat_ypugr") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 0 +offset_left = 24.0 +offset_top = 4.0 +offset_right = 190.0 +offset_bottom = 43.0 +theme_override_fonts/normal_font = ExtResource("4_ttw4u") +theme_override_font_sizes/normal_font_size = 22 +text = "Source +" + +[node name="Timer" type="Timer" parent="."] +wait_time = 2.0 +autostart = true + +[connection signal="mouse_entered" from="source_area" to="." method="_on_area_2d_mouse_entered"] +[connection signal="mouse_exited" from="source_area" to="." method="_on_area_2d_mouse_exited"] +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/Scenes/transformation_level.tscn b/Scenes/transformation_level.tscn new file mode 100644 index 0000000..55bca35 --- /dev/null +++ b/Scenes/transformation_level.tscn @@ -0,0 +1,159 @@ +[gd_scene load_steps=17 format=3 uid="uid://ccb20mwdp3vx"] + +[ext_resource type="Texture2D" uid="uid://crbbdu26tlg2k" path="res://2D Assets/background.png" id="1_2nsuf"] +[ext_resource type="Texture2D" uid="uid://dlnjpu1sbekqf" path="res://2D Assets/conveyer texture.png" id="2_7lk3q"] +[ext_resource type="Script" path="res://Scripts/conveyor.gd" id="3_87n0d"] +[ext_resource type="PackedScene" uid="uid://whu4rwgsyl8u" path="res://Scenes/sink.tscn" id="4_nx6gq"] +[ext_resource type="PackedScene" uid="uid://p2kk0a6bpmai" path="res://Scenes/event_box.tscn" id="5_v0ss3"] +[ext_resource type="PackedScene" uid="uid://cg1qlr4r42xs6" path="res://Scenes/box_b.tscn" id="6_4hq0w"] +[ext_resource type="Script" path="res://Scripts/event_button.gd" id="7_h6cvw"] +[ext_resource type="Script" path="res://Scripts/restart.gd" id="8_p48yw"] +[ext_resource type="Script" path="res://Scripts/draggable_filter.gd" id="9_okl60"] +[ext_resource type="Texture2D" uid="uid://cs6prh1shv4bh" path="res://2D Assets/funnels/blueFunnel.png" id="10_4wmpq"] +[ext_resource type="FontFile" uid="uid://btxwuo5y3bcni" path="res://Fonts/Sigmar-Regular.ttf" id="11_4p53k"] +[ext_resource type="Texture2D" uid="uid://bpkn0kgyf867u" path="res://2D Assets/funnels/redFunnel.png" id="12_gbup0"] +[ext_resource type="PackedScene" uid="uid://cuopmfdfv28sw" path="res://Scenes/draggable_transformer.tscn" id="13_rxesm"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iaucr"] +bg_color = Color(0.205842, 0.197159, 0.280285, 1) +corner_radius_top_left = 15 +corner_radius_top_right = 15 +corner_radius_bottom_right = 15 +corner_radius_bottom_left = 15 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lih8j"] +bg_color = Color(0.203922, 0.196078, 0.278431, 1) +corner_radius_top_left = 15 +corner_radius_top_right = 15 +corner_radius_bottom_right = 15 +corner_radius_bottom_left = 15 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_5e67m"] +size = Vector2(160, 185) + +[node name="transformation_level" type="Node2D"] +scale = Vector2(0.6, 0.6) + +[node name="Panel" type="Panel" parent="."] +z_index = -2 +mouse_filter = 2 + +[node name="TextureRect" type="TextureRect" parent="Panel"] +layout_mode = 0 +offset_right = 1920.0 +offset_bottom = 1080.0 +texture = ExtResource("1_2nsuf") + +[node name="Conveyor" type="Line2D" parent="."] +texture_repeat = 2 +points = PackedVector2Array(0, 0, 0, 0) +width = 100.0 +texture = ExtResource("2_7lk3q") +texture_mode = 1 +script = ExtResource("3_87n0d") + +[node name="Sink" parent="." instance=ExtResource("4_nx6gq")] +position = Vector2(946.667, 930) +scale = Vector2(0.7, 0.7) +expectedType = "Blue" + +[node name="BoxA" parent="." instance=ExtResource("5_v0ss3")] +scale = Vector2(0.7, 0.7) +boxType = "" + +[node name="BoxB" parent="." instance=ExtResource("6_4hq0w")] +position = Vector2(948, 110) +scale = Vector2(0.7, 0.7) + +[node name="Control" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 +offset_left = 1526.67 +offset_top = 761.667 +offset_right = 1566.67 +offset_bottom = 801.667 +script = ExtResource("7_h6cvw") + +[node name="Button" type="Button" parent="Control"] +layout_mode = 0 +offset_right = 342.0 +offset_bottom = 132.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_iaucr") + +[node name="RichTextLabel" type="RichTextLabel" parent="Control/Button"] +layout_mode = 0 +offset_left = 4.99652 +offset_top = 23.333 +offset_right = 342.997 +offset_bottom = 125.333 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("11_4p53k") +theme_override_font_sizes/normal_font_size = 50 +bbcode_enabled = true +text = "[center]START" + +[node name="Control2" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 +offset_left = 1528.33 +offset_top = 915.0 +offset_right = 1568.33 +offset_bottom = 955.0 +script = ExtResource("8_p48yw") + +[node name="Button" type="Button" parent="Control2"] +layout_mode = 0 +offset_right = 342.0 +offset_bottom = 132.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_lih8j") + +[node name="RichTextLabel" type="RichTextLabel" parent="Control2/Button"] +layout_mode = 0 +offset_top = 23.0 +offset_right = 338.0 +offset_bottom = 118.0 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("11_4p53k") +theme_override_font_sizes/normal_font_size = 50 +bbcode_enabled = true +text = "[center]RESTART" + +[node name="Draggable Filter" type="Area2D" parent="."] +position = Vector2(288.333, 205) +script = ExtResource("9_okl60") +filterColor = "Blue" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Draggable Filter"] +position = Vector2(0.333374, -0.5) +shape = SubResource("RectangleShape2D_5e67m") + +[node name="Sprite2D" type="Sprite2D" parent="Draggable Filter"] +position = Vector2(0.333374, 0.333313) +texture = ExtResource("10_4wmpq") + +[node name="Draggable Filter2" type="Area2D" parent="."] +position = Vector2(286.667, 431.667) +script = ExtResource("9_okl60") +filterColor = "Red" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Draggable Filter2"] +position = Vector2(0.333374, -0.5) +shape = SubResource("RectangleShape2D_5e67m") + +[node name="Sprite2D" type="Sprite2D" parent="Draggable Filter2"] +position = Vector2(0.333374, 0.333313) +texture = ExtResource("12_gbup0") + +[node name="DraggableTransformerReder_red" parent="." instance=ExtResource("13_rxesm")] +position = Vector2(1558, 379) + +[connection signal="pressed" from="Control/Button" to="Control" method="_on_button_pressed"] +[connection signal="pressed" from="Control2/Button" to="Control2" method="_on_button_pressed"] +[connection signal="area_entered" from="Draggable Filter" to="Draggable Filter" method="_on_area_entered"] +[connection signal="body_shape_exited" from="Draggable Filter" to="Draggable Filter" method="_on_body_shape_exited"] +[connection signal="mouse_entered" from="Draggable Filter" to="Draggable Filter" method="_on_mouse_entered"] +[connection signal="mouse_exited" from="Draggable Filter" to="Draggable Filter" method="_on_mouse_exited"] +[connection signal="area_entered" from="Draggable Filter2" to="Draggable Filter2" method="_on_area_entered"] +[connection signal="body_shape_exited" from="Draggable Filter2" to="Draggable Filter2" method="_on_body_shape_exited"] +[connection signal="mouse_entered" from="Draggable Filter2" to="Draggable Filter2" method="_on_mouse_entered"] +[connection signal="mouse_exited" from="Draggable Filter2" to="Draggable Filter2" method="_on_mouse_exited"] diff --git a/Scripts/ConveyerController.gd b/Scripts/ConveyerController.gd index abec8da..4040da0 100644 --- a/Scripts/ConveyerController.gd +++ b/Scripts/ConveyerController.gd @@ -1,10 +1,11 @@ extends Node2D - +var source_is_ready = false var selected +var alt_sinks = [] var events = [] -var destination = [] -var conveyer = [] -var conveyerInd=0 +var random_events = [] +var destination +var conveyer var dragging var sendingEnd = false var can_send = false @@ -37,21 +38,26 @@ func _ready() -> void: func _process(delta: float) -> void: if self.can_send and not self.started and self.destination != null: self.send_event() - pass + + pass func create_conveyor(): conveyer[conveyerInd].set_point_position(0, selected.get_position()) conveyer[conveyerInd].set_point_position(1, destination[conveyerInd]) conveyerInd+=1 + + + + func send_event(): print("sending events!") self.started = true - if conveyerInd!=0: - for n in events.size(): - events[n].sending = true - var tween = get_tree().create_tween() - tween.tween_property(events[n], "position", destination[n%conveyerInd], 2).set_trans(tween.TRANS_LINEAR) - if n%conveyerInd==conveyerInd-1: - await tween.finished - Level.next_level() + for n in events.size(): + events[n].sending = true + var tween = get_tree().create_tween() + tween.tween_property(events[n], "position", destination.get_position(), 2).set_trans(tween.TRANS_LINEAR) + await tween.finished + + + diff --git a/Scripts/alt_sinks.gd b/Scripts/alt_sinks.gd new file mode 100644 index 0000000..b7dea1f --- /dev/null +++ b/Scripts/alt_sinks.gd @@ -0,0 +1,47 @@ +extends Sprite2D +@export var sourcePosition : Vector2 +@export var sinkType : String +@export var sending = false +var alreadyaconveyer = false + +func _ready() -> void: + + if sinkType == "Red": + self.set_texture(preload("res://2D Assets/sinks/redSink.png")) + if sinkType == "Green": + self.set_texture(preload("res://2D Assets/sinks/greenSink.png")) + if sinkType == "Blue": + self.set_texture(preload("res://2D Assets/sinks/sink.png")) + +func _input_event(viewport, event, shape_idx) -> void: + print(event) + if event.is_pressed(): + self.on_click() + +func on_click(): + if ConveyerController.source_is_ready and !alreadyaconveyer: + print("Conveyer_is_added") + alreadyaconveyer = true + create_conveyor(sourcePosition, self.position) + +func create_conveyor(start_position: Vector2, end_position: Vector2) -> void: + + var conveyer_scene = load("res://Scenes/conveyerline.tscn") + var conveyor = conveyer_scene.instantiate() + + self.get_parent().add_child(conveyor) + ConveyerController.alt_sinks.append(self) + conveyor.add_point(start_position) + conveyor.add_point(end_position) + + + + + + +func _on_area_2d_mouse_entered(): + $Panel.show() # Replace with function body. + + +func _on_area_2d_mouse_exited(): + $Panel.hide() # Replace with function body. diff --git a/Scripts/conveyerline.gd b/Scripts/conveyerline.gd new file mode 100644 index 0000000..cf9bc31 --- /dev/null +++ b/Scripts/conveyerline.gd @@ -0,0 +1,11 @@ +extends Line2D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/Scripts/draggable_filter.gd b/Scripts/draggable_filter.gd index c0d8bd3..1ffb0f8 100644 --- a/Scripts/draggable_filter.gd +++ b/Scripts/draggable_filter.gd @@ -23,13 +23,15 @@ func _process(delta: float) -> void: func _on_mouse_entered() -> void: if not ConveyerController.dragging: draggable = true - #scale = Vector2(1.05, 1.05) + scale = Vector2(1.05, 1.05) + $Panel.show() func _on_mouse_exited() -> void: if not ConveyerController.dragging: draggable = false - #scale = Vector2(1, 1) + scale = Vector2(1, 1) + $Panel.hide() func _on_area_entered(area: Area2D) -> void: diff --git a/Scripts/draggable_transformer.gd b/Scripts/draggable_transformer.gd new file mode 100644 index 0000000..e4ed100 --- /dev/null +++ b/Scripts/draggable_transformer.gd @@ -0,0 +1,42 @@ +extends Area2D + +@export var transformerColor: String +var draggable = false +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + if draggable: + if Input.is_action_just_pressed("click"): + ConveyerController.dragging = true + if Input.is_action_pressed("click"): + global_position = get_global_mouse_position() + elif Input.is_action_just_released("click"): + ConveyerController.dragging = false + global_position = get_global_mouse_position() + +func _on_area_entered(area): + if area.is_in_group("Box"): + if area.get_parent().boxType != transformerColor and area.get_parent().sending == true: + print("make it red") + $AnimationPlayer.play("transforming") + area.get_parent().boxType = "Red" + area.get_parent().set_texture(preload("res://2D Assets/boxes/redBox.png")) + # Replace with function body. + + +func _on_mouse_entered(): + if not ConveyerController.dragging: + draggable = true + scale = Vector2(1.05, 1.05) + $Panel.show() + + +func _on_mouse_exited(): + if not ConveyerController.dragging: + draggable = false + scale = Vector2(1, 1) + $Panel.hide() diff --git a/Scripts/event_box.gd b/Scripts/event_box.gd index 94c0f0a..bf9aa73 100644 --- a/Scripts/event_box.gd +++ b/Scripts/event_box.gd @@ -16,3 +16,18 @@ func _input_event(viewport, event, shape_idx) -> void: func on_click(): print("hi") ConveyerController.selected = self + + + + + +func _on_area_2d_mouse_entered(): + $Panel.show() # Replace with function body. + + +func _on_area_2d_mouse_exited(): + $Panel.hide() # Replace with function body. + + + + # Replace with function body. diff --git a/Scripts/event_button.gd b/Scripts/event_button.gd index 37fba59..93eb4d3 100644 --- a/Scripts/event_button.gd +++ b/Scripts/event_button.gd @@ -14,3 +14,4 @@ func _process(delta: float) -> void: func _on_button_pressed() -> void: Level.initialise() ConveyerController.can_send = true + diff --git a/Scripts/random_event.gd b/Scripts/random_event.gd new file mode 100644 index 0000000..f03ad8b --- /dev/null +++ b/Scripts/random_event.gd @@ -0,0 +1,25 @@ +extends Sprite2D +@export var boxType: String +@export var sending = false + +var box_types = ["Red", "Green", "Blue"] + +func _ready() -> void: + + print("event ready") + print("event is color", boxType) + boxType = box_types[randi() % box_types.size()] + ConveyerController.events.append(self) + + if boxType=="Red": + self.set_texture(preload("res://2D Assets/boxes/redBox.png")) + if boxType == "Green": + self.set_texture(preload("res://2D Assets/boxes/greenBox.png")) + if boxType == "Blue": + self.set_texture(preload("res://2D Assets/boxes/blueBox.png")) + + + + + +# Called every frame. 'delta' is the elapsed time since the previous frame. diff --git a/Scripts/sink.gd b/Scripts/sink.gd index 4939319..281a014 100644 --- a/Scripts/sink.gd +++ b/Scripts/sink.gd @@ -11,3 +11,14 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass + + + + +func _on_area_2d_mouse_entered(): + $Panel.show() # Replace with function body. + + + +func _on_area_2d_mouse_exited(): + $Panel.hide() # Replace with function body. diff --git a/Scripts/source.gd b/Scripts/source.gd new file mode 100644 index 0000000..5b29e75 --- /dev/null +++ b/Scripts/source.gd @@ -0,0 +1,61 @@ +extends Sprite2D + +@export var boxType: String +@export var sending = false +var destination + +func _ready() -> void: + pass + + +func _input_event(viewport, event, shape_idx) -> void: + print(event) + if event.is_pressed(): + self.on_click() + +func on_click(): + print("yup") + if !ConveyerController.source_is_ready: + ConveyerController.source_is_ready = true + print("ram ram") + + + + +func _on_area_2d_mouse_entered(): + $Panel.show() # Replace with function body. + + +func _on_area_2d_mouse_exited(): + $Panel.hide() # Replace with function body. + + + + # Replace with function body. + + +func _on_timer_timeout(): + if ConveyerController.can_send == true: + print("hello") + var event_scene = preload("res://Scenes/random_event.tscn") + var event = event_scene.instantiate() + event.position = self.position + self.get_parent().add_child(event) + ConveyerController.random_events.append(event) + print(ConveyerController.random_events) + if ConveyerController.alt_sinks.size() > 0: + var random_index = randi() % ConveyerController.alt_sinks.size() + destination = ConveyerController.alt_sinks[random_index].position + print(ConveyerController.destination) + + + else: + print("No alternate sinks available!") + + for i in ConveyerController.random_events.size(): + if is_instance_valid(ConveyerController.random_events[i]): + if event.position == ConveyerController.random_events[i].position: + ConveyerController.random_events[i].sending = true + var tween = get_tree().create_tween() + tween.tween_property(ConveyerController.random_events[i], "position", destination, 2).set_trans(Tween.TRANS_LINEAR) + await tween.finished