From f4d358017a99ec56e3aa93acc1d59b585bb9e279 Mon Sep 17 00:00:00 2001 From: Nathan Chapman Date: Thu, 29 May 2025 21:32:13 -0600 Subject: [PATCH] Finish loot containers --- src/resources/level_navigation_mesh.res | 4 +- .../grassy_hills/terrain3d-01-01.res | 4 +- .../grassy_hills/terrain3d-01_00.res | 4 +- .../grassy_hills/terrain3d_00_00.res | 4 +- src/scenes/characters/enemy.tscn | 143 ++++-------------- src/scenes/characters/player.tscn | 68 ++++----- src/scenes/levels/level.tscn | 37 +++-- src/scenes/ui/inventory.tscn | 44 +++++- ...ainer.tscn => loot_container_display.tscn} | 62 +++----- src/scenes/ui/user_interface.tscn | 5 +- src/scripts/characters/interaction_cast.gd | 3 +- src/scripts/ui/inventory.gd | 15 +- src/scripts/ui/loot_container.gd | 11 -- src/scripts/ui/loot_container_display.gd | 41 +++++ ...r.gd.uid => loot_container_display.gd.uid} | 0 src/scripts/ui/user_interface.gd | 2 +- 16 files changed, 212 insertions(+), 235 deletions(-) rename src/scenes/ui/{loot_container.tscn => loot_container_display.tscn} (50%) delete mode 100644 src/scripts/ui/loot_container.gd create mode 100644 src/scripts/ui/loot_container_display.gd rename src/scripts/ui/{loot_container.gd.uid => loot_container_display.gd.uid} (100%) diff --git a/src/resources/level_navigation_mesh.res b/src/resources/level_navigation_mesh.res index 970aa68..9b64d44 100644 --- a/src/resources/level_navigation_mesh.res +++ b/src/resources/level_navigation_mesh.res @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03a141ab4635df33b3090df99193836982b1bfc960f3e25d2a88f8aa5e0f75b6 -size 2544 +oid sha256:341d9cb1b59fcdfafe18f6a6f3dd8891f02e97343375da58a46949eff3650468 +size 5081 diff --git a/src/resources/terrain_data/grassy_hills/terrain3d-01-01.res b/src/resources/terrain_data/grassy_hills/terrain3d-01-01.res index 3f1a23e..0fd8d0b 100644 --- a/src/resources/terrain_data/grassy_hills/terrain3d-01-01.res +++ b/src/resources/terrain_data/grassy_hills/terrain3d-01-01.res @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1cfd9a6b68a62821cfda3e0e13373754dd4bca36724b8c04a57448c40129493 -size 225199 +oid sha256:1007ef38bc2c4668a885aed112a2e614fcb8da09b837df0f8eda9da6bdcfadf7 +size 225202 diff --git a/src/resources/terrain_data/grassy_hills/terrain3d-01_00.res b/src/resources/terrain_data/grassy_hills/terrain3d-01_00.res index 6ca09a8..946d915 100644 --- a/src/resources/terrain_data/grassy_hills/terrain3d-01_00.res +++ b/src/resources/terrain_data/grassy_hills/terrain3d-01_00.res @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf97c26b3b0024d459feed06bef8a430f1c832bf2f74592db29c4e6ecd0eaa9a -size 217143 +oid sha256:02de6f294334ba800f2725ee3f043ed54e4f2a525c5fe77762b98a31b69b9212 +size 218083 diff --git a/src/resources/terrain_data/grassy_hills/terrain3d_00_00.res b/src/resources/terrain_data/grassy_hills/terrain3d_00_00.res index fb7a515..0b0726f 100644 --- a/src/resources/terrain_data/grassy_hills/terrain3d_00_00.res +++ b/src/resources/terrain_data/grassy_hills/terrain3d_00_00.res @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc14acc475468d6b6d42139885d1e4b315e88ea07536359388f66e1b3f98af2e -size 222572 +oid sha256:bc2b4e83764476f602372157e5fe863b37d1c5d30683af160cdf7f09b7e28e60 +size 222801 diff --git a/src/scenes/characters/enemy.tscn b/src/scenes/characters/enemy.tscn index 191a475..a686081 100644 --- a/src/scenes/characters/enemy.tscn +++ b/src/scenes/characters/enemy.tscn @@ -35,114 +35,37 @@ shape = SubResource("CapsuleShape3D_r8u7w") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) [node name="Skeleton3D" parent="Rig/CharacterRig/GameRig" index="0"] -bones/0/position = Vector3(1.39692e-14, 0.90108, -0.0481735) -bones/0/rotation = Quaternion(0.12582, 1.18262e-07, 1.49989e-08, 0.992053) -bones/1/rotation = Quaternion(-0.0566577, -0.00072973, -0.0117082, 0.998325) -bones/2/position = Vector3(3.20474e-09, 0.146689, -1.95578e-08) -bones/2/rotation = Quaternion(0.000743196, -0.000374187, 0.00321377, 0.999995) -bones/3/position = Vector3(-2.01263e-09, 0.202058, -2.51457e-08) -bones/3/rotation = Quaternion(-0.0941376, -0.000349476, 0.00852159, 0.995523) -bones/4/position = Vector3(3.02934e-10, 0.0925562, 3.91155e-08) -bones/4/rotation = Quaternion(0.274972, 1.48472e-08, 9.2249e-08, 0.961452) -bones/5/rotation = Quaternion(-0.0948564, -2.80691e-14, -2.26155e-08, 0.995491) -bones/6/rotation = Quaternion(-0.158807, -1.17424e-07, -2.06018e-08, 0.98731) -bones/7/position = Vector3(-3.32233e-08, 0.90108, -0.0481735) -bones/7/rotation = Quaternion(-0.0863677, -0.751104, -0.383052, 0.530711) -bones/8/position = Vector3(-7.31348e-08, 0.90108, -0.0481735) -bones/8/rotation = Quaternion(-0.0863677, 0.751104, 0.383052, 0.530711) -bones/9/position = Vector3(0.131144, 0.967284, -0.0351291) -bones/9/rotation = Quaternion(0.993362, 0.0207026, -0.0310291, 0.108811) -bones/10/position = Vector3(-2.36129e-08, 0.26601, -2.14789e-08) -bones/10/rotation = Quaternion(-3.13921e-08, -0.000695086, 1.20449e-08, 1) -bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.42145e-08) -bones/11/rotation = Quaternion(0.413914, -0.000699774, 0.000318327, 0.910316) -bones/12/position = Vector3(3.05151e-08, 0.22603, 5.03768e-08) -bones/12/rotation = Quaternion(-8.19226e-09, -0.00710644, 4.16102e-08, 0.999975) -bones/13/position = Vector3(-2.95495e-08, 0.22603, 2.68392e-09) -bones/13/rotation = Quaternion(-0.748869, 0.0118755, 0.0243915, 0.662162) -bones/14/position = Vector3(-3.05481e-08, 0.139877, 1.64787e-08) -bones/14/rotation = Quaternion(-9.66743e-05, 0.967474, -0.252972, -0.000383447) -bones/15/position = Vector3(-0.131144, 0.967284, -0.0351291) -bones/15/rotation = Quaternion(0.973891, -0.00565072, 0.0274135, 0.225282) -bones/16/position = Vector3(-1.10042e-08, 0.265705, -3.31989e-08) -bones/16/rotation = Quaternion(-3.43227e-08, 0.00314323, 8.33075e-10, 0.999995) -bones/17/position = Vector3(1.83545e-08, 0.265705, 6.98543e-10) -bones/17/rotation = Quaternion(0.43836, 0.00325679, -0.00158855, 0.898792) -bones/18/position = Vector3(1.2807e-08, 0.225719, -8.28774e-09) -bones/18/rotation = Quaternion(-2.29017e-08, -0.00785732, 3.30149e-08, 0.999969) -bones/19/position = Vector3(-1.27748e-08, 0.225719, 1.12004e-08) -bones/19/rotation = Quaternion(-0.685613, -0.0281789, -0.000918696, 0.72742) -bones/20/position = Vector3(-1.30142e-08, 0.139877, -2.77457e-09) -bones/20/rotation = Quaternion(-9.96472e-05, 0.967461, -0.253021, -0.000383039) -bones/21/position = Vector3(0.0251286, 1.43109, 0.0438848) -bones/21/rotation = Quaternion(-0.486018, -0.261012, -0.405363, 0.728931) -bones/22/position = Vector3(0.189469, 1.46863, -0.0195107) -bones/22/rotation = Quaternion(0.0409265, -0.16106, 0.974858, -0.14845) -bones/23/position = Vector3(-5.41331e-09, 0.143946, -2.98023e-08) -bones/23/rotation = Quaternion(9.47234e-08, -0.0232248, 7.62074e-08, 0.99973) -bones/24/position = Vector3(-6.33301e-08, 0.143946, 4.3873e-08) -bones/24/rotation = Quaternion(0.315619, -0.023228, -0.0195211, 0.948401) -bones/25/position = Vector3(1.30385e-08, 0.127601, 6.51926e-09) -bones/25/rotation = Quaternion(1.49943e-07, -1.20606e-07, 9.91859e-08, 1) -bones/26/position = Vector3(2.06034e-08, 0.127601, 2.42761e-08) -bones/26/rotation = Quaternion(-0.00824883, -0.00027077, -0.0328667, 0.999426) -bones/28/rotation = Quaternion(0.702583, -0.000939743, -0.00133552, 0.7116) -bones/29/rotation = Quaternion(0.741121, 0.00218291, 0.00265381, 0.671363) -bones/30/rotation = Quaternion(0.32527, 0.890055, 0.295977, -0.119997) -bones/31/rotation = Quaternion(0.514882, -0.114149, 0.114482, 0.841879) -bones/32/rotation = Quaternion(0.592003, -0.0381348, -0.090699, 0.799907) -bones/34/position = Vector3(-0.00316938, 0.0987206, 0.0147918) -bones/34/rotation = Quaternion(-0.0674699, 0.718446, 0.0663966, 0.689112) -bones/35/rotation = Quaternion(0.580803, -0.000892135, -0.0014975, 0.814042) -bones/36/rotation = Quaternion(0.682777, 0.00174509, 0.00256596, 0.73062) -bones/37/rotation = Quaternion(-0.00426514, 0.736714, 0.0394785, 0.675038) -bones/38/position = Vector3(-0.00622951, 0.0926415, -0.0236344) -bones/38/rotation = Quaternion(-0.109873, 0.743351, 0.0333507, 0.658973) -bones/39/rotation = Quaternion(0.630039, 0.00151959, 0.00237944, 0.776559) -bones/40/rotation = Quaternion(0.652643, -0.00308142, -0.00421108, 0.757648) -bones/41/rotation = Quaternion(-0.0684174, 0.72411, 0.0332337, 0.685478) -bones/42/position = Vector3(-0.00715362, 0.0679857, -0.0481983) -bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358921, 0.587807) -bones/43/rotation = Quaternion(0.498693, -0.0202705, -0.0256953, 0.866161) -bones/44/rotation = Quaternion(0.715385, 0.035306, 0.0573145, 0.695481) -bones/45/rotation = Quaternion(-0.129059, 0.728936, -0.0250259, 0.67184) -bones/46/position = Vector3(-0.0113635, 1.43109, 0.0438848) -bones/46/rotation = Quaternion(-0.499115, 0.23396, 0.387072, 0.739136) -bones/47/position = Vector3(-0.170541, 1.46915, -0.0312238) -bones/47/rotation = Quaternion(-0.0558126, -0.140182, 0.974516, 0.165989) -bones/48/position = Vector3(1.88476e-07, 0.143946, 1.02445e-08) -bones/48/rotation = Quaternion(-2.11681e-08, 0.0267761, -6.38373e-08, 0.999642) -bones/49/position = Vector3(6.5191e-09, 0.143946, -1.95094e-08) -bones/49/rotation = Quaternion(0.350981, 0.0267776, 0.0289447, 0.935552) -bones/50/position = Vector3(-1.48779e-07, 0.1276, 5.9139e-08) -bones/50/rotation = Quaternion(-8.73115e-08, 2.7474e-08, -1.28057e-07, 1) -bones/51/position = Vector3(1.9461e-07, 0.127601, 6.06248e-08) -bones/51/rotation = Quaternion(-0.00824876, 0.000270832, 0.032867, 0.999426) -bones/52/rotation = Quaternion(-0.2563, 0.855859, 0.0299184, -0.448241) -bones/53/rotation = Quaternion(0.694912, 0.107145, -0.103549, 0.703488) -bones/54/rotation = Quaternion(0.74112, -0.00218237, -0.00265409, 0.671363) -bones/55/rotation = Quaternion(-0.325269, 0.890055, 0.295977, 0.119998) -bones/56/rotation = Quaternion(0.514882, 0.11415, -0.114483, 0.841879) -bones/57/rotation = Quaternion(0.592004, 0.0381346, 0.0906992, 0.799907) -bones/59/position = Vector3(0.00316943, 0.0987207, 0.0147917) -bones/59/rotation = Quaternion(0.138771, -0.704916, 0.15571, 0.677932) -bones/60/rotation = Quaternion(0.579984, 0.0462615, -0.0308755, 0.812727) -bones/61/rotation = Quaternion(0.682777, -0.00174718, -0.00256448, 0.73062) -bones/62/rotation = Quaternion(-0.00426532, -0.736714, -0.0394788, 0.675038) -bones/63/position = Vector3(0.00622955, 0.0926417, -0.0236344) -bones/63/rotation = Quaternion(0.104095, -0.719607, 0.186262, 0.660784) -bones/64/rotation = Quaternion(0.670693, 0.0163391, -0.0185663, 0.741323) -bones/65/rotation = Quaternion(0.692499, 0.00330364, 0.00403917, 0.7214) -bones/66/rotation = Quaternion(-0.0684178, -0.72411, -0.0332339, 0.685477) -bones/67/position = Vector3(0.00715371, 0.0679859, -0.0481984) -bones/67/rotation = Quaternion(0.108364, -0.768224, 0.166291, 0.608635) -bones/68/rotation = Quaternion(0.629954, 0.0295149, 0.0177509, 0.775869) -bones/69/rotation = Quaternion(0.816678, -0.0439534, -0.0509861, 0.573155) -bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250258, 0.67184) -bones/71/position = Vector3(0.127191, 1.35032, -0.02577) -bones/71/rotation = Quaternion(1.9622e-08, 0.608474, 0.793573, -4.62466e-08) -bones/72/position = Vector3(-0.113426, 1.35032, -0.02577) -bones/72/rotation = Quaternion(1.9623e-08, 0.608463, 0.793582, -4.62457e-08) +bones/0/position = Vector3(1.40206e-14, 0.90176, -0.0481735) +bones/2/rotation = Quaternion(0.0011868, -0.000366997, 0.0032136, 0.999994) +bones/3/rotation = Quaternion(-0.0937346, -0.000344235, 0.00852184, 0.995561) +bones/4/rotation = Quaternion(0.274604, 1.46355e-08, 9.28348e-08, 0.961558) +bones/6/rotation = Quaternion(-0.159266, -1.17636e-07, -1.93005e-08, 0.987236) +bones/7/position = Vector3(-3.82952e-08, 0.901759, -0.0481735) +bones/8/position = Vector3(-6.97086e-08, 0.901759, -0.0481735) +bones/9/position = Vector3(0.131144, 0.967964, -0.0351291) +bones/9/rotation = Quaternion(0.993431, 0.0206683, -0.0310457, 0.108181) +bones/11/rotation = Quaternion(0.412523, -0.000699498, 0.000316914, 0.910947) +bones/13/rotation = Quaternion(-0.748268, 0.0118733, 0.024389, 0.662842) +bones/15/position = Vector3(-0.131144, 0.967964, -0.0351291) +bones/15/rotation = Quaternion(0.974038, -0.00562268, 0.0274329, 0.224644) +bones/17/rotation = Quaternion(0.437087, 0.00324925, -0.00157933, 0.899412) +bones/19/rotation = Quaternion(-0.685055, -0.0281759, -0.000958456, 0.727946) +bones/21/position = Vector3(0.0251286, 1.43174, 0.0441303) +bones/21/rotation = Quaternion(-0.484887, -0.261474, -0.4062, 0.729052) +bones/22/position = Vector3(0.189621, 1.46938, -0.0188074) +bones/22/rotation = Quaternion(0.0394837, -0.161279, 0.974917, -0.148212) +bones/23/rotation = Quaternion(7.99183e-08, -0.0243984, 5.0198e-08, 0.999702) +bones/24/rotation = Quaternion(0.318314, -0.024412, -0.0197153, 0.947466) +bones/46/position = Vector3(-0.0113635, 1.43174, 0.0441303) +bones/46/rotation = Quaternion(-0.497034, 0.236242, 0.389182, 0.738705) +bones/47/position = Vector3(-0.171093, 1.46991, -0.029743) +bones/47/rotation = Quaternion(-0.0524934, -0.140746, 0.974701, 0.16551) +bones/48/rotation = Quaternion(5.08087e-08, 0.029026, 4.47243e-08, 0.999579) +bones/49/rotation = Quaternion(0.354079, 0.0290274, 0.0289192, 0.934318) +bones/71/position = Vector3(0.127191, 1.35109, -0.025674) +bones/71/rotation = Quaternion(1.9673e-08, 0.60773, 0.794143, -4.62182e-08) +bones/72/position = Vector3(-0.113426, 1.35109, -0.025674) +bones/72/rotation = Quaternion(1.9673e-08, 0.60773, 0.794143, -4.62182e-08) [node name="Knight_02" parent="Rig/CharacterRig/GameRig/Skeleton3D" index="1"] visible = false @@ -151,10 +74,10 @@ visible = false visible = true [node name="RightHandBone" parent="Rig" index="2"] -transform = Transform3D(-0.962334, -0.270838, -0.0236795, 0.235311, -0.873384, 0.426415, -0.136171, 0.404782, 0.904217, -0.344367, 0.991801, -0.0106259) +transform = Transform3D(-0.962334, -0.270836, -0.0236807, 0.234346, -0.870518, 0.432759, -0.137821, 0.410909, 0.901199, -0.344918, 0.993298, -0.00762536) [node name="LeftHandBone" parent="Rig" index="3"] -transform = Transform3D(-0.970516, 0.2391, 0.0304918, -0.217867, -0.924295, 0.313388, 0.103115, 0.297505, 0.949135, 0.346278, 0.977994, -0.0353943) +transform = Transform3D(-0.970516, 0.239103, 0.0304961, -0.217247, -0.922497, 0.319068, 0.104423, 0.303035, 0.947241, 0.34643, 0.979218, -0.0333129) [node name="PlayerDetectorAttack" type="ShapeCast3D" parent="Rig"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1) diff --git a/src/scenes/characters/player.tscn b/src/scenes/characters/player.tscn index 83480fb..ce8d919 100644 --- a/src/scenes/characters/player.tscn +++ b/src/scenes/characters/player.tscn @@ -70,53 +70,53 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) [node name="Rig" parent="RigPivot" instance=ExtResource("3_n52bt")] [node name="Skeleton3D" parent="RigPivot/Rig/CharacterRig/GameRig" index="0"] -bones/0/position = Vector3(6.51628e-15, 0.905322, -0.0481736) +bones/0/position = Vector3(4.44089e-15, 0.911229, -0.0481736) bones/0/rotation = Quaternion(0.12582, 1.18262e-07, 1.49989e-08, 0.992053) bones/1/rotation = Quaternion(-0.0566577, -0.00072973, -0.0117082, 0.998325) bones/2/position = Vector3(3.20474e-09, 0.146689, -1.95578e-08) -bones/2/rotation = Quaternion(0.00349197, -0.00032964, 0.00321261, 0.999989) +bones/2/rotation = Quaternion(0.00731494, -0.000267675, 0.00321092, 0.999968) bones/3/position = Vector3(-2.01263e-09, 0.202058, -2.51457e-08) -bones/3/rotation = Quaternion(-0.0916421, -0.000317015, 0.00852314, 0.995756) +bones/3/rotation = Quaternion(-0.0881755, -0.000271906, 0.00852504, 0.996069) bones/4/position = Vector3(3.02934e-10, 0.0925562, 3.91155e-08) -bones/4/rotation = Quaternion(0.272711, 1.5502e-08, 8.89817e-08, 0.962096) +bones/4/rotation = Quaternion(0.269538, 1.43865e-08, 9.15835e-08, 0.96299) bones/5/rotation = Quaternion(-0.0948564, -2.80691e-14, -2.26155e-08, 0.995491) -bones/6/rotation = Quaternion(-0.161659, -1.17055e-07, -2.28501e-08, 0.986847) -bones/7/position = Vector3(-2.49455e-08, 0.905321, -0.0481734) +bones/6/rotation = Quaternion(-0.165627, -1.17563e-07, -1.97443e-08, 0.986188) +bones/7/position = Vector3(-4.58328e-08, 0.911229, -0.0481734) bones/7/rotation = Quaternion(-0.0863677, -0.751104, -0.383052, 0.530711) -bones/8/position = Vector3(-2.74011e-08, 0.905321, -0.0481735) +bones/8/position = Vector3(-3.51702e-08, 0.911229, -0.0481735) bones/8/rotation = Quaternion(-0.0863677, 0.751104, 0.383052, 0.530711) -bones/9/position = Vector3(0.131144, 0.971526, -0.0351291) -bones/9/rotation = Quaternion(0.993781, 0.0204907, -0.0311309, 0.104929) +bones/9/position = Vector3(0.131144, 0.977433, -0.0351291) +bones/9/rotation = Quaternion(0.994354, 0.0201906, -0.0312759, 0.0993672) bones/10/position = Vector3(-2.36129e-08, 0.26601, -2.14789e-08) bones/10/rotation = Quaternion(-3.13921e-08, -0.000695086, 1.20449e-08, 1) bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.42145e-08) -bones/11/rotation = Quaternion(0.405182, -0.000697965, 0.000309493, 0.914236) +bones/11/rotation = Quaternion(0.392666, -0.000694321, 0.000296553, 0.919681) bones/12/position = Vector3(3.05151e-08, 0.22603, 5.03768e-08) bones/12/rotation = Quaternion(-8.19226e-09, -0.00710644, 4.16102e-08, 0.999975) bones/13/position = Vector3(-2.95495e-08, 0.22603, 2.68392e-09) -bones/13/rotation = Quaternion(-0.745117, 0.0118616, 0.0243766, 0.666383) +bones/13/rotation = Quaternion(-0.739747, 0.0118417, 0.0243568, 0.67234) bones/14/position = Vector3(-3.05481e-08, 0.139877, 1.64787e-08) bones/14/rotation = Quaternion(-9.66743e-05, 0.967474, -0.252972, -0.000383447) -bones/15/position = Vector3(-0.131144, 0.971526, -0.0351291) -bones/15/rotation = Quaternion(0.974794, -0.00547746, 0.0275337, 0.221332) +bones/15/position = Vector3(-0.131144, 0.977433, -0.0351291) +bones/15/rotation = Quaternion(0.976045, -0.00523292, 0.0277031, 0.215732) bones/16/position = Vector3(-1.10042e-08, 0.265705, -3.31989e-08) bones/16/rotation = Quaternion(-3.43227e-08, 0.00314323, 8.33075e-10, 0.999995) bones/17/position = Vector3(1.83545e-08, 0.265705, 6.98543e-10) -bones/17/rotation = Quaternion(0.430415, 0.00320978, -0.00153069, 0.902624) +bones/17/rotation = Quaternion(0.419096, 0.00314277, -0.00145079, 0.907935) bones/18/position = Vector3(1.2807e-08, 0.225719, -8.28774e-09) bones/18/rotation = Quaternion(-2.29017e-08, -0.00785732, 3.30149e-08, 0.999969) bones/19/position = Vector3(-1.27748e-08, 0.225719, 1.12004e-08) -bones/19/rotation = Quaternion(-0.682144, -0.0281602, -0.00116479, 0.730674) +bones/19/rotation = Quaternion(-0.677207, -0.0281333, -0.00151177, 0.735253) bones/20/position = Vector3(-1.30142e-08, 0.139877, -2.77457e-09) bones/20/rotation = Quaternion(-9.96472e-05, 0.967461, -0.253021, -0.000383039) -bones/21/position = Vector3(0.0251286, 1.43512, 0.0454166) -bones/21/rotation = Quaternion(-0.478865, -0.263918, -0.410602, 0.729686) -bones/22/position = Vector3(0.190408, 1.47331, -0.0151183) -bones/22/rotation = Quaternion(0.0318981, -0.162427, 0.975195, -0.146953) +bones/21/position = Vector3(0.0251286, 1.44071, 0.0475463) +bones/21/rotation = Quaternion(-0.468899, -0.267874, -0.417939, 0.730551) +bones/22/position = Vector3(0.191647, 1.47968, -0.00896416) +bones/22/rotation = Quaternion(0.0192298, -0.164322, 0.975527, -0.144831) bones/23/position = Vector3(-5.41331e-09, 0.143946, -2.98023e-08) -bones/23/rotation = Quaternion(7.42555e-09, -0.030569, 6.41867e-08, 0.999533) +bones/23/rotation = Quaternion(7.11168e-08, -0.0407952, -7.42444e-08, 0.999168) bones/24/position = Vector3(-6.33301e-08, 0.143946, 4.3873e-08) -bones/24/rotation = Quaternion(0.332279, -0.0305696, -0.0206956, 0.942458) +bones/24/rotation = Quaternion(0.355324, -0.0408126, -0.0221815, 0.933588) bones/25/position = Vector3(1.30385e-08, 0.127601, 6.51926e-09) bones/25/rotation = Quaternion(1.49943e-07, -1.20606e-07, 9.91859e-08, 1) bones/26/position = Vector3(2.06034e-08, 0.127601, 2.42761e-08) @@ -141,14 +141,14 @@ bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358921, 0.587807) bones/43/rotation = Quaternion(0.498693, -0.0202705, -0.0256953, 0.866161) bones/44/rotation = Quaternion(0.715385, 0.035306, 0.0573145, 0.695481) bones/45/rotation = Quaternion(-0.129059, 0.728936, -0.0250259, 0.67184) -bones/46/position = Vector3(-0.0113635, 1.43512, 0.0454166) -bones/46/rotation = Quaternion(-0.486181, 0.248047, 0.400116, 0.736212) -bones/47/position = Vector3(-0.173849, 1.47377, -0.0219916) -bones/47/rotation = Quaternion(-0.0352038, -0.143659, 0.975478, 0.162989) +bones/46/position = Vector3(-0.0113635, 1.44071, 0.0475463) +bones/46/rotation = Quaternion(-0.468109, 0.267414, 0.418225, 0.731062) +bones/47/position = Vector3(-0.177878, 1.47981, -0.00889) +bones/47/rotation = Quaternion(-0.00633264, -0.148417, 0.976093, 0.158668) bones/48/position = Vector3(1.88476e-07, 0.143946, 1.02445e-08) -bones/48/rotation = Quaternion(-1.29417e-07, 0.0407109, -6.52581e-08, 0.999171) +bones/48/rotation = Quaternion(-1.95624e-07, 0.0600442, -1.88432e-07, 0.998196) bones/49/position = Vector3(6.5191e-09, 0.143946, -1.95094e-08) -bones/49/rotation = Quaternion(0.370114, 0.0407114, 0.0286717, 0.927651) +bones/49/rotation = Quaternion(0.396516, 0.0600607, 0.0277118, 0.915642) bones/50/position = Vector3(-1.48779e-07, 0.1276, 5.9139e-08) bones/50/rotation = Quaternion(-8.73115e-08, 2.7474e-08, -1.28057e-07, 1) bones/51/position = Vector3(1.9461e-07, 0.127601, 6.06248e-08) @@ -174,19 +174,19 @@ bones/67/rotation = Quaternion(0.108364, -0.768224, 0.166291, 0.608635) bones/68/rotation = Quaternion(0.629954, 0.0295149, 0.0177509, 0.775869) bones/69/rotation = Quaternion(0.816678, -0.0439534, -0.0509861, 0.573155) bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250258, 0.67184) -bones/71/position = Vector3(0.127191, 1.35516, -0.0251694) -bones/71/rotation = Quaternion(1.99367e-08, 0.603874, 0.79708, -4.60697e-08) -bones/72/position = Vector3(-0.113426, 1.35516, -0.0251694) -bones/72/rotation = Quaternion(1.99367e-08, 0.603874, 0.79708, -4.60696e-08) +bones/71/position = Vector3(0.127191, 1.36189, -0.0243177) +bones/71/rotation = Quaternion(2.03758e-08, 0.597434, 0.801918, -4.58154e-08) +bones/72/position = Vector3(-0.113426, 1.36189, -0.0243177) +bones/72/rotation = Quaternion(2.03758e-08, 0.597434, 0.801918, -4.58153e-08) [node name="RightHandBone" parent="RigPivot/Rig" index="2"] -transform = Transform3D(-0.962343, -0.270802, -0.0237138, 0.22911, -0.854939, 0.46539, -0.146302, 0.442432, 0.884788, -0.347666, 1.00118, 0.00794098) +transform = Transform3D(-0.962351, -0.270776, -0.0236977, 0.219798, -0.826526, 0.518212, -0.159906, 0.493493, 0.854924, -0.351688, 1.01452, 0.0336896) [node name="LeftHandBone" parent="RigPivot/Rig" index="3"] -transform = Transform3D(-0.970513, 0.239108, 0.0305211, -0.213886, -0.912613, 0.348413, 0.111162, 0.331611, 0.936844, 0.347219, 0.985729, -0.0225046) +transform = Transform3D(-0.970512, 0.239113, 0.0305286, -0.207849, -0.894232, 0.39642, 0.122089, 0.378385, 0.917561, 0.348458, 0.996882, -0.0047055) [node name="RayAttachment" type="BoneAttachment3D" parent="RigPivot/Rig"] -transform = Transform3D(-0.962343, -0.270802, -0.0237138, 0.22911, -0.854939, 0.46539, -0.146302, 0.442432, 0.884788, -0.347666, 1.00118, 0.00794098) +transform = Transform3D(-0.962351, -0.270776, -0.0236977, 0.219798, -0.826526, 0.518212, -0.159906, 0.493493, 0.854924, -0.351688, 1.01452, 0.0336896) bone_name = "DEF-hand.R" bone_idx = 51 use_external_skeleton = true diff --git a/src/scenes/levels/level.tscn b/src/scenes/levels/level.tscn index 1c120f1..322681e 100644 --- a/src/scenes/levels/level.tscn +++ b/src/scenes/levels/level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=35 format=3 uid="uid://dw0lbkh31rofd"] +[gd_scene load_steps=36 format=3 uid="uid://dw0lbkh31rofd"] [ext_resource type="Script" uid="uid://bmywk4wvcp0lr" path="res://addons/sky_3d/src/Sky3D.gd" id="1_1jhfv"] [ext_resource type="Texture2D" uid="uid://bpamrp14tk2cp" path="res://assets/textures/terrain/sand_albedo_height.png" id="1_7iny7"] @@ -19,6 +19,7 @@ [ext_resource type="PackedScene" uid="uid://6dmbuecqolod" path="res://src/scenes/structures/fire_pit.tscn" id="10_juj6f"] [ext_resource type="PackedScene" uid="uid://cyhw4ocljvikh" path="res://src/scenes/ui/currency_icon.tscn" id="10_vltgv"] [ext_resource type="PackedScene" uid="uid://yp4mabfdyo6h" path="res://src/scenes/ui/armor_icon.tscn" id="11_b2fxt"] +[ext_resource type="PackedScene" uid="uid://dbypidud1gcqw" path="res://src/scenes/ui/shield_icon.tscn" id="11_tbe37"] [ext_resource type="PackedScene" uid="uid://yyxkltwrme4l" path="res://src/scenes/ui/weapon_icon.tscn" id="12_htor1"] [ext_resource type="PackedScene" uid="uid://jf0abtmnencg" path="res://src/scenes/environment/water.tscn" id="15_0slur"] @@ -118,7 +119,7 @@ sky_material = SubResource("PhysicalSkyMaterial_dn2un") background_mode = 2 sky = SubResource("Sky_7iny7") ambient_light_source = 3 -ambient_light_color = Color(0.778033, 0.693529, 0.651185, 1) +ambient_light_color = Color(0.539954, 0.363854, 0.27832, 1) reflected_light_source = 2 tonemap_mode = 3 tonemap_white = 6.0 @@ -170,22 +171,28 @@ transform = Transform3D(0.611071, 0, -0.791576, 0, 1, 0, 0.791576, 0, 0.611071, [node name="Interactible" type="Node3D" parent="."] -[node name="Chest" parent="Interactible" instance=ExtResource("9_856t6")] +[node name="Chest1" parent="Interactible" instance=ExtResource("9_856t6")] transform = Transform3D(0.478554, 0, 0.878058, 0, 1, 0, -0.878058, 0, 0.478554, 47.9001, 94.6013, -69.1724) -[node name="CurrencyIcon" parent="Interactible/Chest" instance=ExtResource("10_vltgv")] +[node name="CurrencyIcon" parent="Interactible/Chest1" instance=ExtResource("10_vltgv")] visible = false value = 600 -[node name="ArmorIcon" parent="Interactible/Chest" instance=ExtResource("11_b2fxt")] +[node name="Chest2" parent="Interactible" instance=ExtResource("9_856t6")] +transform = Transform3D(0.787989, 0, 0.615689, 0, 1, 0, -0.615689, 0, 0.787989, 51.0612, 94.6013, -64.1187) + +[node name="ArmorIcon" parent="Interactible/Chest2" instance=ExtResource("11_b2fxt")] visible = false power = 10 armor = 1 -[node name="WeaponIcon" parent="Interactible/Chest" instance=ExtResource("12_htor1")] +[node name="WeaponIcon" parent="Interactible/Chest2" instance=ExtResource("12_htor1")] visible = false power = 12 +[node name="ShieldIcon" parent="Interactible/Chest2" instance=ExtResource("11_tbe37")] +protection = 25 + [node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] navigation_mesh = ExtResource("1_juj6f") @@ -200,13 +207,13 @@ metadata/_edit_lock_ = true environment = SubResource("Environment_cxs0p") camera_attributes = SubResource("CameraAttributesPractical_0slur") script = ExtResource("1_1jhfv") -current_time = 8.09 +current_time = 6.91 reflected_energy = 4.0 metadata/_custom_type_script = "uid://bmywk4wvcp0lr" [node name="SunLight" type="DirectionalLight3D" parent="Sky3D"] -transform = Transform3D(0, -0.643122, 0.765763, 0.80479, 0.454526, 0.381731, -0.593559, 0.616279, 0.517579, 0.765763, 0.381731, 0.517579) -light_color = Color(0.995269, 0.887171, 0.833004, 1) +transform = Transform3D(0, -0.466727, 0.884402, 0.957378, 0.255448, 0.134808, -0.288837, 0.846707, 0.446834, 0.884402, 0.134808, 0.446834) +light_color = Color(0.985392, 0.651607, 0.484349, 1) shadow_enabled = true directional_shadow_blend_splits = true @@ -226,8 +233,8 @@ ground_color = Color(0.3, 0.3, 0.3, 1) sky_layers = 4 sky_render_priority = -128 horizon_level = 0.0 -sun_altitude = -67.559 -sun_azimuth = -124.055 +sun_altitude = -82.2525 +sun_azimuth = -116.805 sun_disk_color = Color(0.996094, 0.541334, 0.140076, 1) sun_disk_intensity = 2.0 sun_disk_size = 0.015 @@ -235,8 +242,8 @@ sun_light_path = NodePath("../SunLight") sun_light_color = Color(1, 1, 1, 1) sun_horizon_light_color = Color(0.98, 0.523, 0.294, 1) sun_light_energy = 1.0 -moon_altitude = -99.7047 -moon_azimuth = -301.311 +moon_altitude = -84.5215 +moon_azimuth = -295.966 moon_color = Color(1, 1, 1, 1) moon_size = 0.07 enable_set_moon_texture = false @@ -244,7 +251,7 @@ moon_resolution = 2 moon_light_path = NodePath("../MoonLight") moon_light_color = Color(0.572549, 0.776471, 0.956863, 1) moon_light_energy = 0.3 -deep_space_euler = Vector3(1.29154, 3.14159, 2.37438) +deep_space_euler = Vector3(1.29154, 3.14159, 2.64477) background_color = Color(0.709804, 0.709804, 0.709804, 0.854902) set_background_texture = false stars_field_color = Color(1, 1, 1, 1) @@ -313,7 +320,7 @@ update_in_editor = false dome_path = NodePath("../Skydome") system_sync = false total_cycle_in_minutes = 15.0 -total_hours = 8.09 +total_hours = 6.91 day = 1 month = 1 year = 2025 diff --git a/src/scenes/ui/inventory.tscn b/src/scenes/ui/inventory.tscn index 864fcb6..300ee89 100644 --- a/src/scenes/ui/inventory.tscn +++ b/src/scenes/ui/inventory.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=16 format=3 uid="uid://csadps2at3npv"] +[gd_scene load_steps=17 format=3 uid="uid://csadps2at3npv"] [ext_resource type="Texture2D" uid="uid://dhvatbbng4411" path="res://assets/ui/window/window_header.png" id="1_0708f"] [ext_resource type="Script" uid="uid://ccmiaof7tpjxn" path="res://src/scripts/ui/inventory.gd" id="1_ylnvo"] @@ -6,6 +6,7 @@ [ext_resource type="StyleBox" uid="uid://copt367rq3lyr" path="res://src/resources/ui/ui_panel.tres" id="3_qcfrv"] [ext_resource type="Texture2D" uid="uid://dd48efbhydh3d" path="res://assets/ui/icons/spell_slot_empty_icon.png" id="4_16ir6"] [ext_resource type="PackedScene" uid="uid://ckwydalda0teo" path="res://src/scenes/characters/rig.tscn" id="5_dryat"] +[ext_resource type="Texture2D" uid="uid://byfgyey43cxxl" path="res://assets/ui/window/NumberFrame.png" id="5_tfrle"] [ext_resource type="FontFile" uid="uid://d3s081dnj7ea4" path="res://assets/fonts/Candara_Italic.ttf" id="5_ylnvo"] [sub_resource type="Gradient" id="Gradient_s4y2v"] @@ -20,6 +21,12 @@ font = ExtResource("2_apwy2") font_size = 48 font_color = Color(0.835294, 0.627451, 0.356863, 1) +[sub_resource type="LabelSettings" id="LabelSettings_tfrle"] +font = ExtResource("2_apwy2") +font_size = 32 +font_color = Color(0.835294, 0.627451, 0.356863, 1) +shadow_color = Color(0, 0, 0, 1) + [sub_resource type="Environment" id="Environment_dryat"] [sub_resource type="World3D" id="World3D_tfrle"] @@ -35,12 +42,6 @@ shadow_color = Color(0, 0, 0, 1) font = ExtResource("5_ylnvo") font_size = 24 -[sub_resource type="LabelSettings" id="LabelSettings_tfrle"] -font = ExtResource("2_apwy2") -font_size = 32 -font_color = Color(0.835294, 0.627451, 0.356863, 1) -shadow_color = Color(0, 0, 0, 1) - [node name="Inventory" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -96,11 +97,38 @@ layout_mode = 2 size_flags_vertical = 3 theme_override_constants/separation = 0 -[node name="EquippedItems" type="PanelContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"] +[node name="HeldItems" type="PanelContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(960, 0) layout_mode = 2 theme_override_styles/panel = ExtResource("3_qcfrv") +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems"] +layout_mode = 2 + +[node name="ItemsGrid" type="GridContainer" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +columns = 7 + +[node name="GoldFrame" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +texture = ExtResource("5_tfrle") + +[node name="GoldLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/HeldItems/VBoxContainer/GoldFrame"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "0g" +label_settings = SubResource("LabelSettings_tfrle") +horizontal_alignment = 1 +vertical_alignment = 1 + [node name="SubViewportContainer" type="SubViewportContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(512, 0) layout_mode = 2 diff --git a/src/scenes/ui/loot_container.tscn b/src/scenes/ui/loot_container_display.tscn similarity index 50% rename from src/scenes/ui/loot_container.tscn rename to src/scenes/ui/loot_container_display.tscn index d90610f..f9c335c 100644 --- a/src/scenes/ui/loot_container.tscn +++ b/src/scenes/ui/loot_container_display.tscn @@ -1,40 +1,40 @@ -[gd_scene load_steps=10 format=3 uid="uid://b8r1w3tush5ue"] +[gd_scene load_steps=9 format=3 uid="uid://b8r1w3tush5ue"] -[ext_resource type="Script" uid="uid://depcr1bjlbfo4" path="res://src/scripts/ui/loot_container.gd" id="1_58h8c"] -[ext_resource type="StyleBox" uid="uid://copt367rq3lyr" path="res://src/resources/ui/ui_panel.tres" id="1_l6r4p"] -[ext_resource type="Texture2D" uid="uid://dhvatbbng4411" path="res://assets/ui/window/window_header.png" id="2_58h8c"] -[ext_resource type="FontFile" uid="uid://sua821wsaeli" path="res://assets/fonts/Candara_Bold.ttf" id="3_4ccu8"] -[ext_resource type="PackedScene" uid="uid://b35w0afp1fdpg" path="res://src/scenes/ui/item_icon.tscn" id="4_x354n"] -[ext_resource type="Texture2D" uid="uid://bhwo6wc0xooyv" path="res://assets/ui/button/button.png" id="5_8p2he"] -[ext_resource type="Texture2D" uid="uid://sy6pbgn2gaqq" path="res://assets/ui/button/button_press.png" id="6_us65b"] -[ext_resource type="Texture2D" uid="uid://xl4dmewy7fpf" path="res://assets/ui/button/button_hover.png" id="7_v4al2"] +[ext_resource type="Script" uid="uid://depcr1bjlbfo4" path="res://src/scripts/ui/loot_container_display.gd" id="1_pfyrf"] +[ext_resource type="StyleBox" uid="uid://copt367rq3lyr" path="res://src/resources/ui/ui_panel.tres" id="2_lvx26"] +[ext_resource type="Texture2D" uid="uid://dhvatbbng4411" path="res://assets/ui/window/window_header.png" id="3_s2tg5"] +[ext_resource type="FontFile" uid="uid://sua821wsaeli" path="res://assets/fonts/Candara_Bold.ttf" id="4_0a0ik"] +[ext_resource type="Texture2D" uid="uid://bhwo6wc0xooyv" path="res://assets/ui/button/button.png" id="5_c6yad"] +[ext_resource type="Texture2D" uid="uid://sy6pbgn2gaqq" path="res://assets/ui/button/button_press.png" id="6_07kgi"] +[ext_resource type="Texture2D" uid="uid://xl4dmewy7fpf" path="res://assets/ui/button/button_hover.png" id="7_1ikc2"] [sub_resource type="LabelSettings" id="LabelSettings_g5kcc"] -font = ExtResource("3_4ccu8") +font = ExtResource("4_0a0ik") font_size = 22 shadow_color = Color(0, 0, 0, 1) -[node name="LootContainer" type="CenterContainer"] +[node name="LootContainerDisplay" type="CenterContainer"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -script = ExtResource("1_58h8c") +script = ExtResource("1_pfyrf") [node name="PanelContainer" type="PanelContainer" parent="."] layout_mode = 2 -theme_override_styles/panel = ExtResource("1_l6r4p") +theme_override_styles/panel = ExtResource("2_lvx26") [node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] layout_mode = 2 [node name="TitleTexture" type="TextureRect" parent="PanelContainer/VBoxContainer"] layout_mode = 2 -texture = ExtResource("2_58h8c") +texture = ExtResource("3_s2tg5") expand_mode = 5 -[node name="Title" type="Label" parent="PanelContainer/VBoxContainer/TitleTexture"] +[node name="TitleLabel" type="Label" parent="PanelContainer/VBoxContainer/TitleTexture"] +unique_name_in_owner = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -51,38 +51,14 @@ custom_minimum_size = Vector2(512, 256) layout_mode = 2 columns = 4 -[node name="ItemIcon" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon2" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon3" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon4" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon5" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon6" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon7" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - -[node name="ItemIcon8" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("4_x354n")] -layout_mode = 2 - [node name="CloseButton" type="TextureButton" parent="PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(200, 80) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -texture_normal = ExtResource("5_8p2he") -texture_pressed = ExtResource("6_us65b") -texture_hover = ExtResource("7_v4al2") +texture_normal = ExtResource("5_c6yad") +texture_pressed = ExtResource("6_07kgi") +texture_hover = ExtResource("7_1ikc2") ignore_texture_size = true stretch_mode = 4 @@ -104,4 +80,4 @@ label_settings = SubResource("LabelSettings_g5kcc") horizontal_alignment = 1 vertical_alignment = 1 -[connection signal="pressed" from="PanelContainer/VBoxContainer/CloseButton" to="." method="toggle_open"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/CloseButton" to="." method="close"] diff --git a/src/scenes/ui/user_interface.tscn b/src/scenes/ui/user_interface.tscn index a8d953c..aa18116 100644 --- a/src/scenes/ui/user_interface.tscn +++ b/src/scenes/ui/user_interface.tscn @@ -8,7 +8,7 @@ [ext_resource type="Texture2D" uid="uid://dn2npqh8ue3vy" path="res://assets/ui/unitframe/blue_bar.png" id="4_ma5hf"] [ext_resource type="FontFile" uid="uid://sua821wsaeli" path="res://assets/fonts/Candara_Bold.ttf" id="7_1j7ss"] [ext_resource type="PackedScene" uid="uid://csadps2at3npv" path="res://src/scenes/ui/inventory.tscn" id="7_70hpn"] -[ext_resource type="PackedScene" uid="uid://b8r1w3tush5ue" path="res://src/scenes/ui/loot_container.tscn" id="9_g5kcc"] +[ext_resource type="PackedScene" uid="uid://b8r1w3tush5ue" path="res://src/scenes/ui/loot_container_display.tscn" id="9_g5kcc"] [sub_resource type="LabelSettings" id="LabelSettings_xba4v"] font = ExtResource("3_nxqqf") @@ -198,5 +198,6 @@ libraries = { } autoplay = "RESET" -[node name="LootContainer" parent="." instance=ExtResource("9_g5kcc")] +[node name="LootContainerDisplay" parent="." node_paths=PackedStringArray("inventory") instance=ExtResource("9_g5kcc")] layout_mode = 1 +inventory = NodePath("../Inventory") diff --git a/src/scripts/characters/interaction_cast.gd b/src/scripts/characters/interaction_cast.gd index 4f8bd47..32d5e3f 100644 --- a/src/scripts/characters/interaction_cast.gd +++ b/src/scripts/characters/interaction_cast.gd @@ -8,5 +8,4 @@ func check_interactions() -> void: if collider is LootContainer: ui.update_interact_text("Open [E]") if Input.is_action_just_pressed("interact"): - print(collider.get_items()) - ui.loot_container.toggle_open() + ui.loot_container_display.toggle_open(collider) diff --git a/src/scripts/ui/inventory.gd b/src/scripts/ui/inventory.gd index 89b17b4..0efee49 100644 --- a/src/scripts/ui/inventory.gd +++ b/src/scripts/ui/inventory.gd @@ -1,4 +1,4 @@ -extends Control +class_name Inventory extends Control @onready var level_label: Label = %LevelLabel @onready var strength_label: Label = %StrengthScore @@ -6,6 +6,12 @@ extends Control @onready var speed_label: Label = %SpeedScore @onready var endurance_label: Label = %EnduranceScore @onready var attack_damage_value: Label = %AttackDamageValue +@onready var items_grid: GridContainer = %ItemsGrid +@onready var gold_label: Label = %GoldLabel +@onready var gold: int = 0: + set(value): + gold = value + gold_label.text = "%dg" % gold @export var player: Player @@ -26,3 +32,10 @@ func get_weapon_damage_value() -> int: var damage = 10 damage += player.stats.strength.get_modifier() return damage + +func add_item(item: ItemIcon) -> void: + if item is CurrencyIcon: + gold += item.value + item.queue_free() + else: + items_grid.add_child(item) diff --git a/src/scripts/ui/loot_container.gd b/src/scripts/ui/loot_container.gd deleted file mode 100644 index 26f1fc8..0000000 --- a/src/scripts/ui/loot_container.gd +++ /dev/null @@ -1,11 +0,0 @@ -extends CenterContainer - -func _ready() -> void: - visible = false - -func toggle_open() -> void: - visible = !visible - if visible: - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - else: - Input.mouse_mode = Input.MOUSE_MODE_CAPTURED diff --git a/src/scripts/ui/loot_container_display.gd b/src/scripts/ui/loot_container_display.gd new file mode 100644 index 0000000..2c5a3e2 --- /dev/null +++ b/src/scripts/ui/loot_container_display.gd @@ -0,0 +1,41 @@ +extends CenterContainer + +@export var inventory: Inventory + +var current_container: LootContainer + +@onready var grid_container: GridContainer = $PanelContainer/VBoxContainer/GridContainer +@onready var title_label: Label = %TitleLabel + +func _ready() -> void: + visible = false + +func close() -> void: + visible = false + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + + if is_instance_valid(current_container): + for item in grid_container.get_children(): + item.interact.disconnect(pickup_item) + grid_container.remove_child(item) + current_container.add_child(item) + item.visible = false + +func toggle_open(container: LootContainer) -> void: + if visible: + close() + else: + current_container = container + title_label.text = container.name.capitalize() + for item in container.get_items(): + current_container.remove_child(item) + grid_container.add_child(item) + item.visible = true + item.interact.connect(pickup_item) + visible = true + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + +func pickup_item(item: ItemIcon) -> void: + item.interact.disconnect(pickup_item) + item.get_parent().remove_child(item) + inventory.add_item(item) diff --git a/src/scripts/ui/loot_container.gd.uid b/src/scripts/ui/loot_container_display.gd.uid similarity index 100% rename from src/scripts/ui/loot_container.gd.uid rename to src/scripts/ui/loot_container_display.gd.uid diff --git a/src/scripts/ui/user_interface.gd b/src/scripts/ui/user_interface.gd index 0fbc2b4..6ad238a 100644 --- a/src/scripts/ui/user_interface.gd +++ b/src/scripts/ui/user_interface.gd @@ -7,7 +7,7 @@ extends Control @onready var inventory: Control = $Inventory @onready var animation_player: AnimationPlayer = $AnimationPlayer @onready var interact_label: Label = %InteractLabel -@onready var loot_container: CenterContainer = $LootContainer +@onready var loot_container_display: CenterContainer = $LootContainerDisplay @export var player: Player