From 885c6f49f0e0287bc213d3789f37d43fbf7db689 Mon Sep 17 00:00:00 2001 From: JonShard Date: Wed, 15 Jul 2026 11:14:23 +0200 Subject: [PATCH] Add hamburger and refactor CookableItem and CombinableItem into scenes --- BurgerBuns.tscn | 25 +++++++------ BurgerBunsDispenser.tscn | 30 ++++++++-------- Charcoal.tscn | 15 -------- JonScene.tscn | 10 ++++-- PickupCube.tscn | 27 ++++---------- TODO.md | 22 ++++++++++++ burger.tscn | 22 +++--------- combinable_item.tscn | 25 +++++++++++++ combine_zone.gd | 4 +-- cookable_item.tscn | 9 +++++ cooked_burger.tscn | 37 ++++++------------- hamburger.tscn | 76 ++++++++++++++++++++++++++++++++++++++++ 12 files changed, 192 insertions(+), 110 deletions(-) create mode 100644 TODO.md create mode 100644 combinable_item.tscn create mode 100644 cookable_item.tscn create mode 100644 hamburger.tscn diff --git a/BurgerBuns.tscn b/BurgerBuns.tscn index 9e531f0..27d62ff 100644 --- a/BurgerBuns.tscn +++ b/BurgerBuns.tscn @@ -6,13 +6,13 @@ [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_wb51u"] [ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="5_wqyr2"] [ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="6_ftab3"] -[ext_resource type="Script" uid="uid://dounic663dn5q" path="res://combinable_item.gd" id="7_wb51u"] +[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://combinable_item.tscn" id="7_wb51u"] [ext_resource type="Script" uid="uid://coidnv8b2yvxr" path="res://combine_recipe.gd" id="8_wqyr2"] -[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://PickupCube.tscn" id="9_ftab3"] +[ext_resource type="PackedScene" uid="uid://b3m2ag8g5rj4r" path="res://hamburger.tscn" id="9_wb51u"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_vlqg6"] -height = 0.11 -radius = 0.13 +height = 0.10708985 +radius = 0.107910156 [sub_resource type="Resource" id="Resource_wkb0k"] script = ExtResource("4_wb51u") @@ -27,16 +27,16 @@ metadata/_custom_type_script = "uid://dvobm6vcfnqe8" [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hoqox"] albedo_color = Color(0.6784191, 0.54546416, 0.016760282, 1) -[sub_resource type="Resource" id="Resource_vlqg6"] +[sub_resource type="Resource" id="Resource_hwyyd"] script = ExtResource("8_wqyr2") ingredient_id = &"cooked_burger" -result = ExtResource("9_ftab3") +result = ExtResource("9_wb51u") metadata/_custom_type_script = "uid://coidnv8b2yvxr" [node name="BurgerBuns" unique_id=1088240294 instance=ExtResource("1_g1t48")] [node name="CollisionShape3D" parent="." index="0"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.06281482, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05776599, 0) shape = SubResource("CylinderShape3D_vlqg6") [node name="GrabPointHandRight" parent="." index="1" unique_id=141610509 instance=ExtResource("2_rwqhn")] @@ -54,27 +54,26 @@ smoothing_angle = 138.9 [node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3DBuns" index="0" unique_id=110174152] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_hoqox") [node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3DBuns" index="1" unique_id=2003491826] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_hoqox") [node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3DBuns/CSGCylinder3D3" index="0" unique_id=391028348] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 cone = true material = SubResource("StandardMaterial3D_hoqox") -[node name="CombinableItem" type="Node" parent="." index="4" unique_id=1863011945] -script = ExtResource("7_wb51u") +[node name="CombinableItem" parent="." index="4" unique_id=996936271 instance=ExtResource("7_wb51u")] id = &"burger_buns" -recipes = Array[ExtResource("8_wqyr2")]([SubResource("Resource_vlqg6")]) +recipes = Array[ExtResource("8_wqyr2")]([SubResource("Resource_hwyyd")]) diff --git a/BurgerBunsDispenser.tscn b/BurgerBunsDispenser.tscn index 5dc4a1d..a4bf49d 100644 --- a/BurgerBunsDispenser.tscn +++ b/BurgerBunsDispenser.tscn @@ -44,21 +44,21 @@ smoothing_angle = 138.9 [node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns" unique_id=1328221793] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns" unique_id=686624728] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns/CSGCylinder3D3" unique_id=1113894081] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 cone = true @@ -71,21 +71,21 @@ smoothing_angle = 138.9 [node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns2" unique_id=190780737] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns2" unique_id=557804311] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns2/CSGCylinder3D3" unique_id=605379447] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 cone = true @@ -98,21 +98,21 @@ smoothing_angle = 138.9 [node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns3" unique_id=1686142490] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns3" unique_id=1773290691] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns3/CSGCylinder3D3" unique_id=801922493] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 cone = true @@ -125,21 +125,21 @@ smoothing_angle = 138.9 [node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns4" unique_id=547208858] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns4" unique_id=185898007] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns4/CSGCylinder3D3" unique_id=2117029178] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 cone = true @@ -152,21 +152,21 @@ smoothing_angle = 138.9 [node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns5" unique_id=102374914] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns5" unique_id=189923990] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns5/CSGCylinder3D3" unique_id=1980594001] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) -radius = 0.1 +radius = 0.085 height = 0.04 sides = 16 cone = true diff --git a/Charcoal.tscn b/Charcoal.tscn index 491f1bc..1444a75 100644 --- a/Charcoal.tscn +++ b/Charcoal.tscn @@ -6,17 +6,12 @@ [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_mgacb"] [ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_vw7i6"] [ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_cp3eg"] -[ext_resource type="Script" path="res://combinable_item.gd" id="7_comb"] -[ext_resource type="Script" path="res://combine_zone.gd" id="8_zone"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_gkni8"] custom_solver_bias = 0.1 height = 0.1 radius = 0.1 -[sub_resource type="BoxShape3D" id="BoxShape3D_combine"] -size = Vector3(0.16, 0.16, 0.16) - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e28iu"] albedo_color = Color(0.06879827, 0.06879828, 0.06879828, 1) @@ -51,13 +46,3 @@ hand_pose = SubResource("Resource_lc22d") [node name="GrabPointHandRight" parent="." index="3" unique_id=514404634 instance=ExtResource("5_vw7i6")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) hand_pose = SubResource("Resource_qyiot") - -[node name="CombinableItem" type="Node" parent="." index="4"] -script = ExtResource("7_comb") -id = &"charcoal" - -[node name="CombineZone" type="Area3D" parent="." index="5"] -script = ExtResource("8_zone") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="CombineZone"] -shape = SubResource("BoxShape3D_combine") diff --git a/JonScene.tscn b/JonScene.tscn index 6a474d0..30bac9d 100644 --- a/JonScene.tscn +++ b/JonScene.tscn @@ -74,7 +74,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1282921, 1.4976386, -1.092 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6570369, 1.4458435, -1.135189) [node name="burger" parent="." unique_id=1417604760 instance=ExtResource("11_65p64")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9129968, 1.4235804, -1.0793439) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.04444152, 1.4235804, -1.1413177) [node name="burger2" parent="." unique_id=1584460510 instance=ExtResource("11_65p64")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.40345573, 1.4235804, -1.0793439) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.23121053, 1.4235804, -1.3225337) + +[node name="burger3" parent="." unique_id=1884095916 instance=ExtResource("11_65p64")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.22395861, 1.4235804, -1.1413177) + +[node name="burger4" parent="." unique_id=1844818864 instance=ExtResource("11_65p64")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.40808713, 1.4235804, -1.1413177) diff --git a/PickupCube.tscn b/PickupCube.tscn index 142ac5f..14790ba 100644 --- a/PickupCube.tscn +++ b/PickupCube.tscn @@ -6,10 +6,9 @@ [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_hc3f7"] [ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_a0a5b"] [ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_bdp75"] -[ext_resource type="Script" uid="uid://bs7cxydoxk1cx" path="res://cookable_item.gd" id="7_hc3f7"] +[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://combinable_item.tscn" id="7_bdp75"] [ext_resource type="PackedScene" uid="uid://cucc3gaqu2nab" path="res://Charcoal.tscn" id="8_a0a5b"] -[ext_resource type="Script" uid="uid://dounic663dn5q" path="res://combinable_item.gd" id="9_comb"] -[ext_resource type="Script" uid="uid://e3im02nq5cye" path="res://combine_zone.gd" id="10_zone"] +[ext_resource type="PackedScene" uid="uid://7earnjgdmwgx" path="res://cookable_item.tscn" id="10_65ccv"] [ext_resource type="Script" uid="uid://coidnv8b2yvxr" path="res://combine_recipe.gd" id="11_recipe"] [sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"] @@ -32,13 +31,11 @@ script = ExtResource("4_hc3f7") closed_pose = ExtResource("6_bdp75") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" -[sub_resource type="Resource" id="Resource_recipe_cube"] +[sub_resource type="Resource" id="Resource_i8ixk"] script = ExtResource("11_recipe") ingredient_id = &"cube" result = ExtResource("8_a0a5b") - -[sub_resource type="BoxShape3D" id="BoxShape3D_combine"] -size = Vector3(0.16, 0.16, 0.16) +metadata/_custom_type_script = "uid://coidnv8b2yvxr" [node name="PickableObject" unique_id=1675596942 instance=ExtResource("1_dbtw8")] @@ -56,18 +53,8 @@ hand_pose = SubResource("Resource_lc22d") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) hand_pose = SubResource("Resource_qyiot") -[node name="CookableItem" type="Node" parent="." index="4" unique_id=1139889801] -script = ExtResource("7_hc3f7") -cooking_time = 2.0 -turns_into = ExtResource("8_a0a5b") - -[node name="CombinableItem" type="Node" parent="." index="5" unique_id=1265358312] -script = ExtResource("9_comb") +[node name="CombinableItem" parent="." index="4" unique_id=996936271 instance=ExtResource("7_bdp75")] id = &"cube" -recipes = Array[ExtResource("11_recipe")]([SubResource("Resource_recipe_cube")]) +recipes = Array[ExtResource("11_recipe")]([SubResource("Resource_i8ixk")]) -[node name="CombineZone" type="Area3D" parent="." index="6" unique_id=1412308162] -script = ExtResource("10_zone") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="CombineZone" index="0" unique_id=1926800015] -shape = SubResource("BoxShape3D_combine") +[node name="CookableItem" parent="." index="5" unique_id=280820828 instance=ExtResource("10_65ccv")] diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..749b458 --- /dev/null +++ b/TODO.md @@ -0,0 +1,22 @@ + + + +- Move recipes into a Yaml file that is read, and handles symetry through a Static manager class? + Example: + ```yaml + combining: + cooked_burger: + - cooked_burger + - burger_buns + + cooking: + cooked_burger: raw_burger + charcoal: cooked_burger + charcoal: toast + ``` + ```gd + on_area_enter(other): + var result = RecipeManager.getCombination(my_id, other_id) + if result: + convertInto(result) + ``` diff --git a/burger.tscn b/burger.tscn index b43e635..f956ee5 100644 --- a/burger.tscn +++ b/burger.tscn @@ -7,13 +7,12 @@ [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="5_w8sii"] [ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="6_mvnl5"] [ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="7_wqxjj"] -[ext_resource type="Script" uid="uid://bs7cxydoxk1cx" path="res://cookable_item.gd" id="8_t4l03"] +[ext_resource type="PackedScene" uid="uid://7earnjgdmwgx" path="res://cookable_item.tscn" id="9_hwyyd"] [ext_resource type="PackedScene" uid="uid://cfc4ho67u4r5e" path="res://cooked_burger.tscn" id="9_r8jvx"] -[ext_resource type="Script" uid="uid://e3im02nq5cye" path="res://combine_zone.gd" id="12_7llnd"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] -height = 0.063323975 -radius = 0.12011719 +height = 0.0338974 +radius = 0.08544922 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bvwq1"] albedo_texture = ExtResource("2_r8jvx") @@ -28,13 +27,10 @@ script = ExtResource("5_w8sii") closed_pose = ExtResource("7_wqxjj") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" -[sub_resource type="BoxShape3D" id="BoxShape3D_combine"] -size = Vector3(0.16, 0.16, 0.16) - [node name="burger" unique_id=1675596942 instance=ExtResource("1_fco8w")] [node name="CollisionShape3D" parent="." index="0"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0005453825, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00077831745, 0) shape = SubResource("CylinderShape3D_fco8w") [node name="CSGCylinder3D" type="CSGCylinder3D" parent="." index="1" unique_id=59319982] @@ -51,13 +47,5 @@ hand_pose = SubResource("Resource_lc22d") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) hand_pose = SubResource("Resource_qyiot") -[node name="CookableItem" type="Node" parent="." index="4" unique_id=1139889801] -script = ExtResource("8_t4l03") -cooking_time = 2.0 +[node name="CookableItem" parent="." index="4" unique_id=280820828 instance=ExtResource("9_hwyyd")] turns_into = ExtResource("9_r8jvx") - -[node name="CombineZone" type="Area3D" parent="." index="5" unique_id=1412308162] -script = ExtResource("12_7llnd") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="CombineZone" index="0" unique_id=1926800015] -shape = SubResource("BoxShape3D_combine") diff --git a/combinable_item.tscn b/combinable_item.tscn new file mode 100644 index 0000000..e58a618 --- /dev/null +++ b/combinable_item.tscn @@ -0,0 +1,25 @@ +[gd_scene format=3 uid="uid://3lr2dhy62rhk"] + +[ext_resource type="Script" uid="uid://dounic663dn5q" path="res://combinable_item.gd" id="1_q21ti"] +[ext_resource type="Script" uid="uid://coidnv8b2yvxr" path="res://combine_recipe.gd" id="2_anbu7"] +[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://PickupCube.tscn" id="3_odxae"] +[ext_resource type="Script" uid="uid://e3im02nq5cye" path="res://combine_zone.gd" id="4_0om48"] + +[sub_resource type="Resource" id="Resource_recipe_cube"] +script = ExtResource("2_anbu7") +ingredient_id = &"burger_buns" +result = ExtResource("3_odxae") + +[sub_resource type="BoxShape3D" id="BoxShape3D_combine"] +size = Vector3(0.16, 0.16, 0.16) + +[node name="CombinableItem" type="Node3D" unique_id=996936271] +script = ExtResource("1_q21ti") +id = &"cooked_burger" +recipes = Array[ExtResource("2_anbu7")]([SubResource("Resource_recipe_cube")]) + +[node name="CombineZone" type="Area3D" parent="." unique_id=1514178016] +script = ExtResource("4_0om48") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="CombineZone" unique_id=706892516] +shape = SubResource("BoxShape3D_combine") diff --git a/combine_zone.gd b/combine_zone.gd index a097197..6dd1543 100644 --- a/combine_zone.gd +++ b/combine_zone.gd @@ -8,7 +8,7 @@ extends Area3D ## incoming item is consumed. # The pickable this zone belongs to (its parent). -@onready var _item: XRToolsPickable = get_parent() as XRToolsPickable +@onready var _item: XRToolsPickable = get_parent().get_parent() as XRToolsPickable # The base item's recipe data. @onready var _combinable: CombinableItem = _find_combinable(_item) @@ -28,7 +28,7 @@ func _ready() -> void: set_deferred("monitorable", false) if not _item: - push_error("CombineZone must be a child of an XRToolsPickable.") + push_error("CombineZone must be a grand child of an XRToolsPickable.") return if not _combinable: push_error("CombineZone requires a CombinableItem sibling on ", _item.name, ".") diff --git a/cookable_item.tscn b/cookable_item.tscn new file mode 100644 index 0000000..052be98 --- /dev/null +++ b/cookable_item.tscn @@ -0,0 +1,9 @@ +[gd_scene format=3 uid="uid://7earnjgdmwgx"] + +[ext_resource type="Script" uid="uid://bs7cxydoxk1cx" path="res://cookable_item.gd" id="1_6hwx6"] +[ext_resource type="PackedScene" uid="uid://cucc3gaqu2nab" path="res://Charcoal.tscn" id="2_rpt7j"] + +[node name="CookableItem" type="Node" unique_id=280820828] +script = ExtResource("1_6hwx6") +cooking_time = 2.0 +turns_into = ExtResource("2_rpt7j") diff --git a/cooked_burger.tscn b/cooked_burger.tscn index 88e6c2a..ca5c8d3 100644 --- a/cooked_burger.tscn +++ b/cooked_burger.tscn @@ -6,16 +6,14 @@ [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="5_ychvb"] [ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="6_etdv2"] [ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="7_rl64h"] -[ext_resource type="Script" uid="uid://bs7cxydoxk1cx" path="res://cookable_item.gd" id="8_w5t5h"] -[ext_resource type="PackedScene" uid="uid://cucc3gaqu2nab" path="res://Charcoal.tscn" id="9_e6kn1"] -[ext_resource type="Script" uid="uid://dounic663dn5q" path="res://combinable_item.gd" id="10_nq1op"] +[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://combinable_item.tscn" id="10_ut7mg"] +[ext_resource type="PackedScene" uid="uid://7earnjgdmwgx" path="res://cookable_item.tscn" id="11_5ch2b"] [ext_resource type="Script" uid="uid://coidnv8b2yvxr" path="res://combine_recipe.gd" id="11_rjayc"] -[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://PickupCube.tscn" id="11_ut7mg"] -[ext_resource type="Script" uid="uid://e3im02nq5cye" path="res://combine_zone.gd" id="12_4dmro"] +[ext_resource type="PackedScene" uid="uid://b3m2ag8g5rj4r" path="res://hamburger.tscn" id="11_ut7mg"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] -height = 0.063323975 -radius = 0.12011719 +height = 0.04777527 +radius = 0.08300781 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6l01i"] albedo_color = Color(0.29, 0.101500005, 0, 1) @@ -30,18 +28,16 @@ script = ExtResource("5_ychvb") closed_pose = ExtResource("7_rl64h") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" -[sub_resource type="Resource" id="Resource_recipe_cube"] +[sub_resource type="Resource" id="Resource_wi1yl"] script = ExtResource("11_rjayc") ingredient_id = &"burger_buns" result = ExtResource("11_ut7mg") - -[sub_resource type="BoxShape3D" id="BoxShape3D_combine"] -size = Vector3(0.16, 0.16, 0.16) +metadata/_custom_type_script = "uid://coidnv8b2yvxr" [node name="CookedBurger" unique_id=1675596942 instance=ExtResource("1_ut7mg")] [node name="CollisionShape3D" parent="." index="0"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0005453825, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0072289705, 0) shape = SubResource("CylinderShape3D_fco8w") [node name="CSGCylinder3D" type="CSGCylinder3D" parent="." index="1" unique_id=59319982] @@ -58,18 +54,7 @@ hand_pose = SubResource("Resource_lc22d") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) hand_pose = SubResource("Resource_qyiot") -[node name="CookableItem" type="Node" parent="." index="4" unique_id=1139889801] -script = ExtResource("8_w5t5h") -cooking_time = 2.0 -turns_into = ExtResource("9_e6kn1") +[node name="CombinableItem" parent="." index="4" unique_id=434304805 instance=ExtResource("10_ut7mg")] +recipes = Array[ExtResource("11_rjayc")]([SubResource("Resource_wi1yl")]) -[node name="CombinableItem" type="Node" parent="." index="5" unique_id=1265358312] -script = ExtResource("10_nq1op") -id = &"cooked_burger" -recipes = Array[ExtResource("11_rjayc")]([SubResource("Resource_recipe_cube")]) - -[node name="CombineZone" type="Area3D" parent="." index="6" unique_id=1412308162] -script = ExtResource("12_4dmro") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="CombineZone" index="0" unique_id=1926800015] -shape = SubResource("BoxShape3D_combine") +[node name="CookableItem" parent="." index="5" unique_id=280820828 instance=ExtResource("11_5ch2b")] diff --git a/hamburger.tscn b/hamburger.tscn new file mode 100644 index 0000000..9837fbc --- /dev/null +++ b/hamburger.tscn @@ -0,0 +1,76 @@ +[gd_scene format=3 uid="uid://b3m2ag8g5rj4r"] + +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_3gf3l"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_0mkco"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_6tnvi"] +[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_cljtj"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_dunns"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_fh0f6"] + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] +height = 0.10392761 +radius = 0.096191406 + +[sub_resource type="Resource" id="Resource_lc22d"] +script = ExtResource("4_cljtj") +closed_pose = ExtResource("3_6tnvi") +metadata/_custom_type_script = "uid://dvobm6vcfnqe8" + +[sub_resource type="Resource" id="Resource_qyiot"] +script = ExtResource("4_cljtj") +closed_pose = ExtResource("6_fh0f6") +metadata/_custom_type_script = "uid://dvobm6vcfnqe8" + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3gf3l"] +albedo_color = Color(0.6784191, 0.54546416, 0.016760282, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6l01i"] +albedo_color = Color(0.29, 0.101500005, 0, 1) + +[node name="Hamburger" unique_id=1675596942 instance=ExtResource("1_3gf3l")] + +[node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.02, 0.02, 0) +shape = SubResource("CylinderShape3D_fco8w") + +[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674 instance=ExtResource("2_0mkco")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.067650706, 0.04601878, -0.08606844) +hand_pose = SubResource("Resource_lc22d") + +[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634 instance=ExtResource("5_dunns")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) +hand_pose = SubResource("Resource_qyiot") + +[node name="CSGCombiner3DBuns" type="CSGCombiner3D" parent="." index="3" unique_id=678881053] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.021904588, 0.025076538, -0.0044593215) +autosmooth = true +smoothing_angle = 138.9 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3DBuns" index="0" unique_id=776920274] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022625268, -0.03479519, 0.0027926378) +radius = 0.085 +height = 0.04 +sides = 16 +material = SubResource("StandardMaterial3D_3gf3l") + +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3DBuns" index="1" unique_id=448728548] +transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.07384333, 0.015895892, 0) +radius = 0.085 +height = 0.04 +sides = 16 +material = SubResource("StandardMaterial3D_3gf3l") + +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3DBuns/CSGCylinder3D3" index="0" unique_id=837229235] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) +radius = 0.085 +height = 0.04 +sides = 16 +cone = true +material = SubResource("StandardMaterial3D_3gf3l") + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="." index="4" unique_id=59319982] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02356495, 0) +radius = 0.08300781 +height = 0.03 +sides = 16 +material = SubResource("StandardMaterial3D_6l01i")