Fixes the path modification on the garden edit tool.

This commit is contained in:
Dylan Sarrazyn
2024-10-29 16:34:52 +01:00
parent 61c7d5e0a6
commit 824b4696eb
7 changed files with 107 additions and 705 deletions
-9
View File
@@ -58,33 +58,24 @@ mouse_filter = 2
[node name="Button1" parent="Buttons" instance=ExtResource("4_epm30")]
unique_name_in_owner = true
layout_mode = 0
offset_right = 300.0
offset_bottom = 300.0
pivot_offset = Vector2(150, 150)
completed_color = Color(0.588235, 0.439216, 0.878431, 1)
[node name="Button2" parent="Buttons" instance=ExtResource("4_epm30")]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_right = 300.0
offset_bottom = 300.0
completed_color = Color(0.588235, 0.439216, 0.878431, 1)
[node name="Button3" parent="Buttons" instance=ExtResource("4_epm30")]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_right = 300.0
offset_bottom = 300.0
completed_color = Color(0.588235, 0.439216, 0.878431, 1)
[node name="Button4" parent="Buttons" instance=ExtResource("4_epm30")]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_right = 300.0
offset_bottom = 300.0
completed_color = Color(0.588235, 0.439216, 0.878431, 1)
[node name="Flowers" type="Control" parent="."]
+23 -23
View File
@@ -37,7 +37,7 @@ lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(551, 227),
"position": Vector2i(1090, 1132)
}, {
"path_out_position": Vector2i(813, -897),
"path_out_position": Vector2i(674, -580),
"position": Vector2i(1854, 772)
}])
is_first_or_last = 1
@@ -137,7 +137,7 @@ flowers_export = Array[Dictionary]([{
"type": 2
}, {
"color": 3,
"position": Vector2i(1744, 1260),
"position": Vector2i(1752, 1240),
"type": 3
}, {
"color": 3,
@@ -151,7 +151,7 @@ lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(-113, 883),
"position": Vector2i(702, 265)
}, {
"path_out_position": Vector2i(936, 19),
"path_out_position": Vector2i(787, 47),
"position": Vector2i(1129, 1217)
}, {
"path_out_position": Vector2i(752, 471),
@@ -164,7 +164,7 @@ script = ExtResource("1_gyv0f")
color = 4
flowers_export = Array[Dictionary]([{
"color": 8,
"position": Vector2i(368, 1484),
"position": Vector2i(396, 1520),
"type": 0
}, {
"color": 8,
@@ -172,7 +172,7 @@ flowers_export = Array[Dictionary]([{
"type": 1
}, {
"color": 8,
"position": Vector2i(1516, 1500),
"position": Vector2i(1444, 1528),
"type": 2
}, {
"color": 8,
@@ -190,11 +190,11 @@ lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(248, -256),
"position": Vector2i(862, 165)
}, {
"path_out_position": Vector2i(816, 755),
"path_out_position": Vector2i(210, 459),
"position": Vector2i(1858, 197)
}, {
"path_out_position": Vector2i(-313, -197),
"position": Vector2i(2992, 969)
"path_out_position": Vector2i(218, -52),
"position": Vector2i(1790, 1052)
}])
is_first_or_last = 1
@@ -207,7 +207,7 @@ flowers_export = Array[Dictionary]([{
"type": 0
}, {
"color": 5,
"position": Vector2i(1020, 992),
"position": Vector2i(848, 1052),
"type": 1
}, {
"color": 5,
@@ -229,8 +229,8 @@ lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(483, 303),
"position": Vector2i(865, 129)
}, {
"path_out_position": Vector2i(299, -105),
"position": Vector2i(1433, 741)
"path_out_position": Vector2i(750, -4),
"position": Vector2i(726, 1128)
}, {
"path_out_position": Vector2i(786, 1163),
"position": Vector2i(1845, 361)
@@ -336,21 +336,21 @@ flowers_export = Array[Dictionary]([{
"type": 3
}, {
"color": 14,
"position": Vector2i(1004, 564),
"position": Vector2i(1016, 480),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(491, 227),
"position": Vector2i(324, 1297)
"path_out_position": Vector2i(422, 384),
"position": Vector2i(290, 1092)
}, {
"path_out_position": Vector2i(267, -165),
"position": Vector2i(992, 1401)
"path_out_position": Vector2i(-26, -656),
"position": Vector2i(1006, 1296)
}, {
"path_out_position": Vector2i(391, -205),
"position": Vector2i(1304, 825)
"position": Vector2i(466, 176)
}, {
"path_out_position": Vector2i(465, 235),
"position": Vector2i(1800, 453)
"position": Vector2i(1442, 540)
}])
is_first_or_last = 1
@@ -371,7 +371,7 @@ flowers_export = Array[Dictionary]([{
"type": 2
}, {
"color": 9,
"position": Vector2i(1916, 1528),
"position": Vector2i(1852, 1480),
"type": 3
}, {
"color": 9,
@@ -380,13 +380,13 @@ flowers_export = Array[Dictionary]([{
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(343, -277),
"position": Vector2i(90, 1113)
"position": Vector2i(138, 968)
}, {
"path_out_position": Vector2i(419, 463),
"position": Vector2i(446, 613)
"position": Vector2i(550, 624)
}, {
"path_out_position": Vector2i(194, -705),
"position": Vector2i(902, 1421)
"position": Vector2i(978, 1336)
}, {
"path_out_position": Vector2i(1772, 839),
"position": Vector2i(938, 77)
@@ -499,7 +499,7 @@ lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(87, 679),
"position": Vector2i(535, 185)
}, {
"path_out_position": Vector2i(451, 343),
"path_out_position": Vector2i(449, 235),
"position": Vector2i(127, 1269)
}, {
"path_out_position": Vector2i(-137, -821),
-623
View File
@@ -1,623 +0,0 @@
[gd_resource type="Resource" script_class="GardensLayout" load_steps=19 format=3 uid="uid://8v0g8bpx5mh0"]
[ext_resource type="Script" path="res://resources/gardens/garden_layout.gd" id="1_gyv0f"]
[ext_resource type="Script" path="res://resources/gardens/gardens_layout.gd" id="2_w74ow"]
[sub_resource type="Resource" id="Resource_sb4fa"]
script = ExtResource("1_gyv0f")
color = 0
flowers_export = Array[Dictionary]([{
"color": 0,
"position": Vector2i(1464, 1092),
"type": 4
}, {
"color": 0,
"position": Vector2i(512, 884),
"type": 0
}, {
"color": 0,
"position": Vector2i(250, 288),
"type": 3
}, {
"color": 0,
"position": Vector2i(1072, 196),
"type": 1
}, {
"color": 0,
"position": Vector2i(1736, 196),
"type": 2
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(87, -281),
"position": Vector2i(121, 841)
}, {
"path_out_position": Vector2i(399, 447),
"position": Vector2i(641, 309)
}, {
"path_out_position": Vector2i(551, 227),
"position": Vector2i(1105, 1121)
}, {
"path_out_position": Vector2i(813, -897),
"position": Vector2i(1885, 977)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_vavwh"]
script = ExtResource("1_gyv0f")
color = 1
flowers_export = Array[Dictionary]([{
"color": 1,
"position": Vector2i(1494, 20),
"type": 0
}, {
"color": 1,
"position": Vector2i(1198, 256),
"type": 1
}, {
"color": 1,
"position": Vector2i(1525, 1260),
"type": 2
}, {
"color": 1,
"position": Vector2i(223, 1064),
"type": 3
}, {
"color": 1,
"position": Vector2i(668, 736),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(379, 379),
"position": Vector2i(675, 177)
}, {
"path_out_position": Vector2i(548, 220),
"position": Vector2i(359, 749)
}, {
"path_out_position": Vector2i(371, 55),
"position": Vector2i(1019, 1237)
}, {
"path_out_position": Vector2i(-93, -301),
"position": Vector2i(1631, 793)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_rabgc"]
script = ExtResource("1_gyv0f")
color = 2
flowers_export = Array[Dictionary]([{
"color": 13,
"position": Vector2i(400, 250),
"type": 0
}, {
"color": 13,
"position": Vector2i(1281, 20),
"type": 1
}, {
"color": 13,
"position": Vector2i(1925, 584),
"type": 2
}, {
"color": 13,
"position": Vector2i(557, 936),
"type": 4
}, {
"color": 13,
"position": Vector2i(1342, 1072),
"type": 3
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(349, 799),
"position": Vector2i(88, 325)
}, {
"path_out_position": Vector2i(83, -345),
"position": Vector2i(966, 1157)
}, {
"path_out_position": Vector2i(583, -269),
"position": Vector2i(806, 257)
}, {
"path_out_position": Vector2i(722, -757),
"position": Vector2i(1678, 1149)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_b5yea"]
script = ExtResource("1_gyv0f")
color = 3
flowers_export = Array[Dictionary]([{
"color": 3,
"position": Vector2i(320, 700),
"type": 0
}, {
"color": 3,
"position": Vector2i(868, 316),
"type": 1
}, {
"color": 3,
"position": Vector2i(741, 912),
"type": 2
}, {
"color": 3,
"position": Vector2i(1456, 1024),
"type": 3
}, {
"color": 3,
"position": Vector2i(1620, 604),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(463, 3),
"position": Vector2i(182, 125)
}, {
"path_out_position": Vector2i(-113, 883),
"position": Vector2i(702, 265)
}, {
"path_out_position": Vector2i(936, 19),
"position": Vector2i(1129, 1217)
}, {
"path_out_position": Vector2i(752, 471),
"position": Vector2i(1917, 385)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_fa44t"]
script = ExtResource("1_gyv0f")
color = 4
flowers_export = Array[Dictionary]([{
"color": 8,
"position": Vector2i(333, 1100),
"type": 0
}, {
"color": 8,
"position": Vector2i(1249, 28),
"type": 1
}, {
"color": 8,
"position": Vector2i(1705, 532),
"type": 2
}, {
"color": 8,
"position": Vector2i(985, 708),
"type": 3
}, {
"color": 8,
"position": Vector2i(321, 184),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(223, -213),
"position": Vector2i(494, 889)
}, {
"path_out_position": Vector2i(248, -256),
"position": Vector2i(862, 165)
}, {
"path_out_position": Vector2i(816, 755),
"position": Vector2i(1858, 197)
}, {
"path_out_position": Vector2i(-313, -197),
"position": Vector2i(2992, 969)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_5h4pi"]
script = ExtResource("1_gyv0f")
color = 5
flowers_export = Array[Dictionary]([{
"color": 5,
"position": Vector2i(540, 388),
"type": 0
}, {
"color": 5,
"position": Vector2i(1104, 1028),
"type": 1
}, {
"color": 5,
"position": Vector2i(210, 752),
"type": 2
}, {
"color": 5,
"position": Vector2i(540, -24),
"type": 3
}, {
"color": 5,
"position": Vector2i(1704, 864),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(595, 155),
"position": Vector2i(225, 393)
}, {
"path_out_position": Vector2i(483, 303),
"position": Vector2i(865, 129)
}, {
"path_out_position": Vector2i(299, -105),
"position": Vector2i(1433, 741)
}, {
"path_out_position": Vector2i(786, 1163),
"position": Vector2i(1845, 361)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_0s64a"]
script = ExtResource("1_gyv0f")
color = 6
flowers_export = Array[Dictionary]([{
"color": 6,
"position": Vector2i(1375, 980),
"type": 0
}, {
"color": 6,
"position": Vector2i(231, 728),
"type": 1
}, {
"color": 6,
"position": Vector2i(1035, 140),
"type": 2
}, {
"color": 6,
"position": Vector2i(1699, 152),
"type": 3
}, {
"color": 6,
"position": Vector2i(627, 644),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(459, -69),
"position": Vector2i(596, 1249)
}, {
"path_out_position": Vector2i(-461, -237),
"position": Vector2i(1156, 713)
}, {
"path_out_position": Vector2i(727, 235),
"position": Vector2i(628, 45)
}, {
"path_out_position": Vector2i(515, -293),
"position": Vector2i(1764, 813)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_s4fet"]
script = ExtResource("1_gyv0f")
color = 7
flowers_export = Array[Dictionary]([{
"color": 1,
"position": Vector2i(1366, -28),
"type": 0
}, {
"color": 1,
"position": Vector2i(390, 476),
"type": 1
}, {
"color": 1,
"position": Vector2i(94, 896),
"type": 2
}, {
"color": 1,
"position": Vector2i(1074, 164),
"type": 3
}, {
"color": 1,
"position": Vector2i(1538, 1036),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(631, 223),
"position": Vector2i(359, 1277)
}, {
"path_out_position": Vector2i(-449, -181),
"position": Vector2i(1251, 1309)
}, {
"path_out_position": Vector2i(775, 363),
"position": Vector2i(723, 13)
}, {
"path_out_position": Vector2i(1060, 223),
"position": Vector2i(1607, 737)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_r4707"]
script = ExtResource("1_gyv0f")
color = 8
flowers_export = Array[Dictionary]([{
"color": 14,
"position": Vector2i(1231, 1012),
"type": 0
}, {
"color": 14,
"position": Vector2i(331, 164),
"type": 1
}, {
"color": 14,
"position": Vector2i(563, 700),
"type": 2
}, {
"color": 14,
"position": Vector2i(1111, 44),
"type": 3
}, {
"color": 14,
"position": Vector2i(879, 328),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(491, 227),
"position": Vector2i(324, 1297)
}, {
"path_out_position": Vector2i(267, -165),
"position": Vector2i(992, 1401)
}, {
"path_out_position": Vector2i(391, -205),
"position": Vector2i(1304, 825)
}, {
"path_out_position": Vector2i(465, 235),
"position": Vector2i(1800, 453)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_tpy30"]
script = ExtResource("1_gyv0f")
color = 9
flowers_export = Array[Dictionary]([{
"color": 9,
"position": Vector2i(629, 80),
"type": 0
}, {
"color": 9,
"position": Vector2i(1200, 108),
"type": 1
}, {
"color": 9,
"position": Vector2i(541, 896),
"type": 2
}, {
"color": 9,
"position": Vector2i(1361, 968),
"type": 3
}, {
"color": 9,
"position": Vector2i(1588, 452),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(343, -277),
"position": Vector2i(90, 1113)
}, {
"path_out_position": Vector2i(419, 463),
"position": Vector2i(446, 613)
}, {
"path_out_position": Vector2i(194, -705),
"position": Vector2i(902, 1421)
}, {
"path_out_position": Vector2i(1772, 839),
"position": Vector2i(938, 77)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_pp244"]
script = ExtResource("1_gyv0f")
color = 10
flowers_export = Array[Dictionary]([{
"color": 10,
"position": Vector2i(950, 1144),
"type": 0
}, {
"color": 10,
"position": Vector2i(1826, 440),
"type": 1
}, {
"color": 10,
"position": Vector2i(926, 480),
"type": 2
}, {
"color": 10,
"position": Vector2i(574, 8),
"type": 3
}, {
"color": 10,
"position": Vector2i(187, 440),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(-409, -389),
"position": Vector2i(639, 661)
}, {
"path_out_position": Vector2i(202, -134),
"position": Vector2i(971, 165)
}, {
"path_out_position": Vector2i(358, 366),
"position": Vector2i(1511, 217)
}, {
"path_out_position": Vector2i(804, 168),
"position": Vector2i(1427, 973)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_ydxer"]
script = ExtResource("1_gyv0f")
color = 11
flowers_export = Array[Dictionary]([{
"color": 18,
"position": Vector2i(1039, 392),
"type": 0
}, {
"color": 18,
"position": Vector2i(879, 1168),
"type": 1
}, {
"color": 18,
"position": Vector2i(1523, 848),
"type": 2
}, {
"color": 18,
"position": Vector2i(1919, 236),
"type": 3
}, {
"color": 18,
"position": Vector2i(195, 1104),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(199, -133),
"position": Vector2i(132, 745)
}, {
"path_out_position": Vector2i(187, 459),
"position": Vector2i(420, 369)
}, {
"path_out_position": Vector2i(459, -345),
"position": Vector2i(512, 1333)
}, {
"path_out_position": Vector2i(535, -141),
"position": Vector2i(1136, 85)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_vifpe"]
script = ExtResource("1_gyv0f")
color = 12
flowers_export = Array[Dictionary]([{
"color": 12,
"position": Vector2i(914, 500),
"type": 0
}, {
"color": 12,
"position": Vector2i(1638, 736),
"type": 1
}, {
"color": 12,
"position": Vector2i(1958, 248),
"type": 2
}, {
"color": 12,
"position": Vector2i(634, 800),
"type": 3
}, {
"color": 12,
"position": Vector2i(354, 732),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(87, 679),
"position": Vector2i(535, 185)
}, {
"path_out_position": Vector2i(451, 343),
"position": Vector2i(127, 1269)
}, {
"path_out_position": Vector2i(-137, -821),
"position": Vector2i(927, 1249)
}, {
"path_out_position": Vector2i(894, 971),
"position": Vector2i(1163, 177)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_blfde"]
script = ExtResource("1_gyv0f")
color = 13
flowers_export = Array[Dictionary]([{
"color": 2,
"position": Vector2i(817, 388),
"type": 0
}, {
"color": 2,
"position": Vector2i(558, 808),
"type": 1
}, {
"color": 2,
"position": Vector2i(1410, 752),
"type": 2
}, {
"color": 2,
"position": Vector2i(1442, 256),
"type": 3
}, {
"color": 2,
"position": Vector2i(1852, 368),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(-93, -505),
"position": Vector2i(170, 1229)
}, {
"path_out_position": Vector2i(355, -301),
"position": Vector2i(378, 381)
}, {
"path_out_position": Vector2i(471, -129),
"position": Vector2i(1094, 141)
}, {
"path_out_position": Vector2i(1105, -145),
"position": Vector2i(1718, 209)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_ar07c"]
script = ExtResource("1_gyv0f")
color = 14
flowers_export = Array[Dictionary]([{
"color": 5,
"position": Vector2i(859, 728),
"type": 0
}, {
"color": 5,
"position": Vector2i(239, 208),
"type": 1
}, {
"color": 5,
"position": Vector2i(943, 136),
"type": 2
}, {
"color": 5,
"position": Vector2i(2007, 688),
"type": 3
}, {
"color": 5,
"position": Vector2i(747, 1012),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(575, 3),
"position": Vector2i(776, 141)
}, {
"path_out_position": Vector2i(-357, 591),
"position": Vector2i(1488, 253)
}, {
"path_out_position": Vector2i(79, 475),
"position": Vector2i(166, 817)
}, {
"path_out_position": Vector2i(2608, -837),
"position": Vector2i(412, 1449)
}])
is_first_or_last = 1
[sub_resource type="Resource" id="Resource_hkny7"]
script = ExtResource("1_gyv0f")
color = 15
flowers_export = Array[Dictionary]([{
"color": 17,
"position": Vector2i(1252, 1108),
"type": 0
}, {
"color": 17,
"position": Vector2i(192, 132),
"type": 1
}, {
"color": 17,
"position": Vector2i(2060, 940),
"type": 2
}, {
"color": 17,
"position": Vector2i(992, -68),
"type": 3
}, {
"color": 17,
"position": Vector2i(944, 640),
"type": 4
}])
lesson_buttons_export = Array[Dictionary]([{
"path_out_position": Vector2i(0, 0),
"position": Vector2i(1369, 753)
}])
is_first_or_last = 1
[resource]
script = ExtResource("2_w74ow")
gardens = Array[ExtResource("1_gyv0f")]([SubResource("Resource_sb4fa"), SubResource("Resource_vavwh"), SubResource("Resource_rabgc"), SubResource("Resource_b5yea"), SubResource("Resource_fa44t"), SubResource("Resource_5h4pi"), SubResource("Resource_0s64a"), SubResource("Resource_s4fet"), SubResource("Resource_r4707"), SubResource("Resource_tpy30"), SubResource("Resource_pp244"), SubResource("Resource_ydxer"), SubResource("Resource_vifpe"), SubResource("Resource_blfde"), SubResource("Resource_ar07c"), SubResource("Resource_hkny7")])
+4 -4
View File
@@ -46,7 +46,7 @@ const garden_size: = 2400
@onready var minigame_background_center: TextureRect = %MinigameBackgroundCenter
@onready var lock: Control = %Lock
var curve: Curve2D
var lessons: = {}
var points: Array[Array]= []
var is_scrolling: = false
@@ -79,8 +79,8 @@ func _ready() -> void:
# Defines if a new lesson has been unlocked by the player, setups to play the right animation
new_lesson_unlocked = transition_data and transition_data.current_lesson_number == UserDataManager.student_progression.get_max_unlocked_lesson() and transition_data.minigame_number == 2 and transition_data.minigame_completed
# Loads the progression of the player
_set_progression()
# Loads the progression of the player
_set_progression()
# Scrolls to the right garden
if not transition_data:
@@ -402,7 +402,7 @@ func set_up_path() -> void:
if not garden_parent:
return
points = []
var curve: = Curve2D.new()
curve = Curve2D.new()
for i in gardens_layout.gardens.size():
var garden_layout: GardenLayout = gardens_layout.gardens[i]
var garden_control: Garden = garden_parent.get_child(i)
File diff suppressed because one or more lines are too long
+78 -42
View File
@@ -5,40 +5,58 @@ const flower_types_nb: int = 5
const gardens_layout_resource_path: String = "res://resources/gardens/gardens_layout.tres"
var dragging_element
var dragging_element: Variant
var drag_data: = {}
func _ready() -> void:
MusicManager.stop()
line_particles.hide()
back_button.hide()
get_gardens_db_data()
# Checks if a configuration exists
if not ResourceLoader.exists(gardens_layout_resource_path):
gardens_layout = GardensLayout.new()
gardens_layout.resource_path = gardens_layout_resource_path
_init_gardens_layout()
else:
gardens_layout = load(gardens_layout_resource_path)
super()
unlocked_line.hide()
line_particles.hide()
back_button.hide()
gardens_layout = load(gardens_layout_resource_path)
set_up_lessons()
set_up_click_detection()
func _init_gardens_layout() -> void:
# Empty the gardens configuration
gardens_layout.gardens.clear()
for i in lessons.size():
var garden_layout: GardenLayout
# Create a new garden
if i % 4 == 0:
gardens_layout.gardens.append(GardenLayout.new())
var garden_layout: = gardens_layout.gardens[-1]
garden_layout = GardenLayout.new()
gardens_layout.gardens.append(garden_layout)
@warning_ignore("integer_division")
garden_layout.color = (i / 4) % garden_textures_nb
# Add the flowers to the garden
for flower_i in 5:
var flower: = GardenLayout.Flower.new(0, flower_i, Vector2i(0, 0))
var flower: = GardenLayout.Flower.new(garden_layout.color, flower_i, Vector2i(980 + flower_i * 100, 900))
garden_layout.flowers.append(flower)
garden_layout.flowers = garden_layout.flowers
var garden_layout: = gardens_layout.gardens[-1]
else:
garden_layout = gardens_layout.gardens[-1]
# Add a new lesson button to the garden
garden_layout.lesson_buttons.append(GardenLayout.LessonButton.new(Vector2i(0, 0), Vector2i(0, 0)))
garden_layout.lesson_buttons = garden_layout.lesson_buttons
# Save the configuration
gardens_layout = gardens_layout
ResourceSaver.save(gardens_layout, gardens_layout.resource_path)
@@ -63,16 +81,19 @@ func _process(delta: float) -> void:
super(delta)
if dragging_element != null:
if dragging_element is Control:
dragging_element.position = _correct_position(dragging_element, dragging_element.get_parent().get_local_mouse_position())
var dragging_control: Control = dragging_element as Control
dragging_control.position = _correct_position(dragging_control, dragging_control.get_parent_control().get_local_mouse_position() as Vector2)
if drag_data.type == "lesson_button":
var garden: Garden = garden_parent.get_child(drag_data.garden_ind as int)
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons[drag_data.lesson_button_ind].position = dragging_element.position
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons = gardens_layout.gardens[drag_data.garden_ind].lesson_buttons
garden_parent.get_child(drag_data.garden_ind).set_lesson_buttons(gardens_layout.gardens[drag_data.garden_ind].lesson_buttons)
garden.set_lesson_buttons(gardens_layout.gardens[drag_data.garden_ind].lesson_buttons)
set_up_path()
elif drag_data.type == "path_middle":
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons[drag_data.sub_ind].path_out_position = garden_parent.get_child(drag_data.garden_ind).get_local_mouse_position() - Vector2(gardens_layout.gardens[drag_data.garden_ind].lesson_buttons[drag_data.sub_ind].position)
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons = gardens_layout.gardens[drag_data.garden_ind].lesson_buttons
garden_parent.get_child(drag_data.garden_ind).set_lesson_buttons(gardens_layout.gardens[drag_data.garden_ind].lesson_buttons)
var garden_layout: GardenLayout = gardens_layout.gardens[drag_data.garden_ind]
var garden: Garden = garden_parent.get_child(drag_data.garden_ind as int)
garden_layout.lesson_buttons[drag_data.sub_ind].path_out_position = garden.get_local_mouse_position() - Vector2(garden_layout.lesson_buttons[drag_data.sub_ind].position)
garden.set_lesson_buttons(garden_layout.lesson_buttons)
set_up_path()
@@ -81,13 +102,15 @@ func _input(event: InputEvent) -> void:
return
if event.is_action_released("left_click"):
if drag_data.type == "flower":
var dragging_control: = dragging_element as Control
dragging_element.z_index = 2
gardens_layout.gardens[drag_data.garden_ind].flowers[drag_data.flower_ind].position = dragging_element.get_parent().get_local_mouse_position()
gardens_layout.gardens[drag_data.garden_ind].flowers[drag_data.flower_ind].position = dragging_control.get_parent_control().get_local_mouse_position()
gardens_layout.gardens[drag_data.garden_ind].flowers = gardens_layout.gardens[drag_data.garden_ind].flowers
ResourceSaver.save(gardens_layout, gardens_layout.resource_path)
elif drag_data.type == "lesson_button":
var dragging_control: = dragging_element as Control
dragging_element.z_index = 1
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons[drag_data.lesson_button_ind].position = _correct_position(dragging_element, dragging_element.get_parent().get_local_mouse_position())
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons[drag_data.lesson_button_ind].position = _correct_position(dragging_control, dragging_control.get_parent_control().get_local_mouse_position())
gardens_layout.gardens[drag_data.garden_ind].lesson_buttons = gardens_layout.gardens[drag_data.garden_ind].lesson_buttons
ResourceSaver.save(gardens_layout, gardens_layout.resource_path)
elif drag_data.type == "path_middle":
@@ -96,31 +119,35 @@ func _input(event: InputEvent) -> void:
dragging_element = null
#func _unhandled_input(event: InputEvent) -> void:
# if event.is_action_pressed("left_click"):
# if curve.get_closest_point(line.get_local_mouse_position()).distance_to(line.get_local_mouse_position()) < line.width:
# dragging_element = get_previous_point_on_curve()
# var a: = get_garden_and_sub_ind_from_ind(dragging_element)
# drag_data = {
# type = "path_middle",
# garden_ind = a[0],
# sub_ind = a[1],
# }
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("left_click"):
# Get the closest point to the mouse
var closest_point: = curve.get_closest_point(locked_line.get_local_mouse_position())
# If the user clicked on a line, do the drag event
if closest_point.distance_to(locked_line.get_local_mouse_position()) < locked_line.width:
dragging_element = get_previous_point_on_curve(closest_point)
var a: = get_garden_and_sub_ind_from_ind(dragging_element as int)
drag_data = {
type = "path_middle",
garden_ind = a[0],
sub_ind = a[1],
}
#func get_previous_point_on_curve() -> int:
# var offset: = curve.get_closest_offset(line.get_local_mouse_position())
# for i in curve.point_count:
# var point_offset = curve.get_closest_offset(curve.get_point_position(i))
# if point_offset > offset:
# return i - 1
# return curve.point_count
func get_previous_point_on_curve(point: Vector2) -> int:
var offset: = curve.get_closest_offset(point)
for i in curve.point_count:
var point_offset: = curve.get_closest_offset(curve.get_point_position(i))
if point_offset > offset:
return i - 1
return curve.point_count
func get_garden_and_sub_ind_from_ind(ind: int) -> Array[int]:
var count: = 0
for garden_control_ind in garden_parent.get_child_count():
var garden_control: Control = garden_parent.get_child(garden_control_ind)
var garden_control: Garden = garden_parent.get_child(garden_control_ind)
for lesson_button_ind in garden_control.lesson_button_controls.size():
if count == ind:
return [garden_control_ind, lesson_button_ind]
@@ -151,18 +178,17 @@ func _on_flower_gui_input(event: InputEvent, garden_control_ind: int, flower_ind
}
get_viewport().set_input_as_handled()
elif event.is_action_pressed("right_click"):
var garden: Garden = garden_parent.get_child(garden_control_ind)
var flower: = gardens_layout.gardens[garden_control_ind].flowers[flower_ind]
flower.type += 1
if flower.type >= flower_types_nb:
flower.type = 0
gardens_layout.gardens[garden_control_ind].flowers = gardens_layout.gardens[garden_control_ind].flowers
garden_parent.get_child(garden_control_ind).set_flowers(gardens_layout.gardens[garden_control_ind].flowers, Garden.FlowerSizes.Large)
garden.set_flowers(gardens_layout.gardens[garden_control_ind].flowers, Garden.FlowerSizes.Large)
ResourceSaver.save(gardens_layout, gardens_layout.resource_path)
func _on_lesson_button_gui_input(event: InputEvent, garden_control_ind: int, lesson_button_ind: int, lesson_button_control: Control) -> void:
if event.is_action_pressed("left_click"):
print("start" + str(lesson_button_control.position))
dragging_element = lesson_button_control
dragging_element.z_index = 10
drag_data = {
@@ -206,14 +232,24 @@ func _on_change_flower_color_button_2_pressed() -> void:
func _on_reset_garden_button_pressed() -> void:
var garden_ind: = get_best_showing_garden()
var garden: Garden = garden_parent.get_child(garden_ind)
var flowers: = gardens_layout.gardens[garden_ind].flowers
for i in flowers.size():
flowers[i] = GardenLayout.Flower.new()
gardens_layout.gardens[garden_ind].flowers = flowers
garden_parent.get_child(garden_ind).set_flowers(flowers, Garden.FlowerSizes.Large)
garden.set_flowers(flowers, Garden.FlowerSizes.Large)
var lesson_buttons: = gardens_layout.gardens[garden_ind].lesson_buttons
for i in lesson_buttons.size():
lesson_buttons[i] = GardenLayout.LessonButton.new()
gardens_layout.gardens[garden_ind].lesson_buttons = lesson_buttons
garden_parent.get_child(garden_ind).set_lesson_buttons(lesson_buttons)
garden.set_lesson_buttons(lesson_buttons)
ResourceSaver.save(gardens_layout, gardens_layout.resource_path)
func _on_scroll_container_gui_input(event: InputEvent) -> void:
if dragging_element != null:
return
super(event)
+2 -2
View File
@@ -3,7 +3,7 @@
[ext_resource type="Script" path="res://sources/menus/brain/brain.gd" id="1_1rwi2"]
[ext_resource type="Texture2D" uid="uid://jlwblk7lj7vi" path="res://assets/vfx/fx_10.png" id="1_poeho"]
[ext_resource type="Texture2D" uid="uid://dqjvrit8c3m6s" path="res://assets/brain_screen/blue_palm.png" id="2_6qag6"]
[ext_resource type="Resource" uid="uid://8v0g8bpx5mh0" path="res://resources/gardens/gardens_layout_old.tres" id="2_qeplj"]
[ext_resource type="Resource" uid="uid://ccn0a731o07jn" path="res://resources/gardens/gardens_layout.tres" id="2_eooqa"]
[ext_resource type="Texture2D" uid="uid://crba20yq2ljox" path="res://assets/brain_screen/head.png" id="2_w21ae"]
[ext_resource type="Texture2D" uid="uid://bjop68a8t82p3" path="res://assets/brain_screen/bush.png" id="3_bpmau"]
[ext_resource type="AudioStream" uid="uid://bwjerrgyy6dnj" path="res://assets/sfx/ui_garden_button.mp3" id="3_f5uh7"]
@@ -90,7 +90,7 @@ grow_vertical = 2
script = ExtResource("1_1rwi2")
locked_color = Color(0.000455221, 0.0669486, 0.35333, 1)
unlocked_colors = Array[Color]([Color(0.588235, 0.439216, 0.878431, 1), Color(1, 0.909804, 0.137255, 1), Color(0.929412, 0.603922, 0.709804, 1), Color(0.658824, 0.262745, 0.286275, 1), Color(0.247059, 0.196078, 0.647059, 1), Color(0.619608, 0.976471, 0.670588, 1), Color(0.764706, 0.760784, 0.768627, 1), Color(1, 0.686275, 0.341176, 1), Color(0.305882, 0.996078, 0.894118, 1), Color(0.478431, 0.819608, 1, 1), Color(0.764706, 0.760784, 0.768627, 1), Color(1, 0.909804, 0.137255, 1), Color(0.658824, 0.262745, 0.286275, 1), Color(0.929412, 0.603922, 0.709804, 1), Color(0.619608, 0.976471, 0.670588, 1), Color(0.247059, 0.196078, 0.647059, 1), Color(0.305882, 0.996078, 0.894118, 1), Color(0.478431, 0.819608, 1, 1), Color(1, 0.686275, 0.341176, 1), Color(0.588235, 0.439216, 0.878431, 1)])
gardens_layout = ExtResource("2_qeplj")
gardens_layout = ExtResource("2_eooqa")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_f5uh7")