diff --git a/Items/BurgerBuns.tscn b/Items/BurgerBuns.tscn index 87bc04e..fe98f90 100644 --- a/Items/BurgerBuns.tscn +++ b/Items/BurgerBuns.tscn @@ -1,94 +1,54 @@ [gd_scene format=3 uid="uid://c0lknik4noobs"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_g1t48"] -[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="2_rwqhn"] -[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="3_qaxva"] -[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="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="7_wb51u"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="8_t9y3x"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_46e7r"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_vlqg6"] height = 0.10708985 radius = 0.107910156 -[sub_resource type="Resource" id="Resource_wkb0k"] -script = ExtResource("4_wb51u") -closed_pose = ExtResource("3_qaxva") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_j68hc"] -script = ExtResource("4_wb51u") -closed_pose = ExtResource("6_ftab3") -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="SceneReplicationConfig" id="SceneReplicationConfig_np_buns"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - -[node name="BurgerBuns" unique_id=1088240294 instance=ExtResource("1_g1t48")] -second_hand_grab = 1 +[node name="BurgerBuns" unique_id=1088240294 instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="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")] -transform = Transform3D(0.9978254, -0.06591213, 0, 0.06591213, 0.9978254, 0, 0, 0, 1, 0.08952884, 0.07439406, -0.056857675) -hand_pose = SubResource("Resource_wkb0k") - -[node name="GrabPointHandLeft" parent="." index="2" unique_id=826213104 instance=ExtResource("5_wqyr2")] +[node name="GrabPointHandLeft" parent="." index="1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.08001605, 0.07612594, -0.05340144) -hand_pose = SubResource("Resource_j68hc") -[node name="CSGCombiner3DBuns" type="CSGCombiner3D" parent="." index="3" unique_id=178629624] +[node name="GrabPointHandRight" parent="." index="2"] +transform = Transform3D(0.9978254, -0.06591213, 0, 0.06591213, 0.9978254, 0, 0, 0, 1, 0.08952884, 0.07439406, -0.056857675) + +[node name="FoodItem" parent="." index="3"] +id = "burger_buns" +type = 2 +sell_value = 1 + +[node name="CSGCombiner3DBuns" type="CSGCombiner3D" parent="Model" index="0" unique_id=178629624] 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=110174152] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Model/CSGCombiner3DBuns" index="0" unique_id=110174152] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_hoqox") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3DBuns" index="1" unique_id=2003491826] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Model/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.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_hoqox") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3DBuns/CSGCylinder3D3" index="0" unique_id=391028348] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Model/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.085 height = 0.04 sides = 16 cone = true material = SubResource("StandardMaterial3D_hoqox") - -[node name="FoodItem" parent="." index="4" unique_id=123456789 instance=ExtResource("8_t9y3x")] -id = "burger_buns" -type = 2 - -[node name="CombinableItem" parent="." index="5" unique_id=996936271 instance=ExtResource("7_wb51u")] - -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="6" unique_id=2086885420] -replication_config = SubResource("SceneReplicationConfig_np_buns") -script = ExtResource("20_netpk") - -[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("10_46e7r")] diff --git a/Items/Charcoal.tscn b/Items/Charcoal.tscn index 9253f5c..d88f9a0 100644 --- a/Items/Charcoal.tscn +++ b/Items/Charcoal.tscn @@ -1,15 +1,6 @@ [gd_scene format=3 uid="uid://cucc3gaqu2nab"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_r73y2"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_nfmuy"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_bsb6f"] -[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="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="7_mde49"] -[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="8_wmrff"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_6ypk4"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_gkni8"] height = 0.1 @@ -24,52 +15,16 @@ top_radius = 0.1 bottom_radius = 0.1 height = 0.1 -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("4_mgacb") -closed_pose = ExtResource("3_bsb6f") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("4_mgacb") -closed_pose = ExtResource("6_cp3eg") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_charcoal"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - -[node name="PickableObject" unique_id=1675596942 instance=ExtResource("1_r73y2")] -second_hand_grab = 1 +[node name="PickableObject" unique_id=1675596942 instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) shape = SubResource("CylinderShape3D_gkni8") -[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1" unique_id=1223689787] -mesh = SubResource("CylinderMesh_vebgy") - -[node name="GrabPointHandLeft" parent="." index="2" unique_id=1571481674 instance=ExtResource("2_nfmuy")] -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="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="FoodItem" parent="." index="4" unique_id=345678912 instance=ExtResource("7_mde49")] +[node name="FoodItem" parent="." index="3"] id = "charcoal" type = 2 +sell_value = 1 -[node name="CombinableItem" parent="." index="5" unique_id=996936271 instance=ExtResource("8_wmrff")] - -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="6" unique_id=1070495412] -replication_config = SubResource("SceneReplicationConfig_np_charcoal") -script = ExtResource("20_netpk") - -[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("10_6ypk4")] +[node name="MeshInstance3D" type="MeshInstance3D" parent="Model" index="0" unique_id=1223689787] +mesh = SubResource("CylinderMesh_vebgy") diff --git a/Items/PickupCube.tscn b/Items/PickupCube.tscn index 0f4d467..3c4600e 100644 --- a/Items/PickupCube.tscn +++ b/Items/PickupCube.tscn @@ -1,15 +1,6 @@ [gd_scene format=3 uid="uid://e4i6o5oriecx"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_dbtw8"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_pxnkq"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_iqyul"] -[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="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="7_bdp75"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_uygc5"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="11_vjw41"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"] size = Vector3(0.1, 0.1, 0.1) @@ -21,52 +12,16 @@ albedo_color = Color(0.1764706, 1, 1, 1) material = SubResource("StandardMaterial3D_24d3s") size = Vector3(0.1, 0.1, 0.1) -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("4_hc3f7") -closed_pose = ExtResource("3_iqyul") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("4_hc3f7") -closed_pose = ExtResource("6_bdp75") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_cube"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - -[node name="PickableObject" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_dbtw8")] -second_hand_grab = 1 +[node name="PickableObject" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) shape = SubResource("BoxShape3D_m1xbq") -[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1" unique_id=1223689787] -mesh = SubResource("BoxMesh_vlqg6") - -[node name="GrabPointHandLeft" parent="." index="2" unique_id=1571481674 instance=ExtResource("2_pxnkq")] -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="3" unique_id=514404634 instance=ExtResource("5_a0a5b")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) -hand_pose = SubResource("Resource_qyiot") - -[node name="FoodItem" parent="." index="4" unique_id=63948206 instance=ExtResource("11_vjw41")] +[node name="FoodItem" parent="." index="3"] id = "cube" type = 1 +sell_value = 1 -[node name="CombinableItem" parent="." index="5" unique_id=996936271 instance=ExtResource("7_bdp75")] - -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="6" unique_id=1858332513] -replication_config = SubResource("SceneReplicationConfig_np_cube") -script = ExtResource("20_netpk") - -[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("10_uygc5")] +[node name="MeshInstance3D" type="MeshInstance3D" parent="Model" index="0" unique_id=1223689787] +mesh = SubResource("BoxMesh_vlqg6") diff --git a/Items/burger.tscn b/Items/burger.tscn index d165fe3..55f93d8 100644 --- a/Items/burger.tscn +++ b/Items/burger.tscn @@ -1,15 +1,7 @@ [gd_scene format=3 uid="uid://dpot5qie20vf6"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_fco8w"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [ext_resource type="Texture2D" uid="uid://7jt8macx4f5m" path="res://textures/1.png" id="2_r8jvx"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="3_qixic"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="4_bw8vh"] -[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="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_l4hsd"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="10_yxtxs"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] height = 0.0338974 @@ -18,56 +10,22 @@ radius = 0.08544922 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bvwq1"] albedo_texture = ExtResource("2_r8jvx") -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("5_w8sii") -closed_pose = ExtResource("4_bw8vh") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("5_w8sii") -closed_pose = ExtResource("7_wqxjj") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_burger"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - -[node name="raw_burger" unique_id=1675596942 instance=ExtResource("1_fco8w")] -second_hand_grab = 1 +[node name="raw_burger" unique_id=1675596942 instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="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] +[node name="FoodItem" parent="." index="3" unique_id=63948206] +id = "raw_burger" +type = 2 +sell_value = 1 + +[node name="CombinableItem" parent="." index="8"] +enabled = false + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Model" parent_id_path=PackedInt32Array(1015960306) index="0" unique_id=59319982] radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_bvwq1") - -[node name="GrabPointHandLeft" parent="." index="2" unique_id=1571481674 instance=ExtResource("3_qixic")] -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="3" unique_id=514404634 instance=ExtResource("6_mvnl5")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) -hand_pose = SubResource("Resource_qyiot") - -[node name="FoodItem" parent="." index="4" unique_id=63948206 instance=ExtResource("10_yxtxs")] -id = "raw_burger" -type = 2 - -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="5" unique_id=1382968688] -replication_config = SubResource("SceneReplicationConfig_np_burger") -script = ExtResource("20_netpk") - -[node name="DespawningItem" parent="." index="6" unique_id=303090111 instance=ExtResource("10_l4hsd")] - -[node name="SoundManager" type="Node3D" parent="." index="7" unique_id=118155212] diff --git a/Items/chips.tscn b/Items/chips.tscn index 03ab6c9..778386b 100644 --- a/Items/chips.tscn +++ b/Items/chips.tscn @@ -1,254 +1,214 @@ [gd_scene format=3 uid="uid://duwrbvwcqcuk3"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="1_g660j"] -[ext_resource type="Script" uid="uid://bfrlpbsqg5lqr" path="res://addons/godot-xr-tools/objects/pickable.gd" id="1_skw8o"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="2_skw8o"] -[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="3_j0320"] -[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="4_krlan"] -[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="5_ygjl7"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="6_66ydo"] -[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="7_qlknf"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="8_do54s"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="9_obvwg"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"] size = Vector3(0.1, 0.1, 0.1) -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("3_j0320") -closed_pose = ExtResource("2_skw8o") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("3_j0320") -closed_pose = ExtResource("5_ygjl7") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vlqg6"] albedo_color = Color(1, 0.26, 0.26, 1) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"] albedo_color = Color(0.66, 0.58300006, 0.19800001, 1) -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_cube"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - -[node name="Chips" type="RigidBody3D" unique_id=1028364693 groups=["platalbe_item"]] +[node name="Chips" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_food_item")] collision_layer = 4 collision_mask = 196615 freeze_mode = 1 -script = ExtResource("1_skw8o") -second_hand_grab = 1 -[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1621665718] +[node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) shape = SubResource("BoxShape3D_m1xbq") -[node name="GrabPointHandLeft" parent="." unique_id=389569681 instance=ExtResource("1_g660j")] +[node name="GrabPointHandLeft" parent="." index="1"] transform = Transform3D(0.99971306, 0.023955148, 0, -0.023955148, 0.99971306, 0, 0, 0, 1, -0.042430807, 0.04601878, -0.066400535) -hand_pose = SubResource("Resource_lc22d") -[node name="GrabPointHandRight" parent="." unique_id=332233083 instance=ExtResource("4_krlan")] +[node name="GrabPointHandRight" parent="." index="2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.039321173, 0.042291984, -0.06561862) -hand_pose = SubResource("Resource_qyiot") -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=965503334] +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Model" unique_id=965503334] -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=816650852] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Model/CSGCombiner3D" unique_id=816650852] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.7, 0, -0.008749997, 0) radius = 0.055 height = 0.10250001 sides = 32 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCylinder3D" unique_id=387203621] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Model/CSGCombiner3D/CSGCylinder3D" unique_id=387203621] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00010003522, 0.004754007, -0.0005688625) operation = 2 radius = 0.05 height = 0.0934961 sides = 32 -[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=93328108] +[node name="CSGBox3D" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=93328108] transform = Transform3D(0.7620723, -0.15403531, 0.62890285, 0.14065021, 0.98747945, 0.07142768, -0.632031, 0.034022264, 0.77419585, 0, 0.023602298, 0) size = Vector3(0.01, 0.1472046, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D" unique_id=916963062] +[node name="CSGBox3D2" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=916963062] transform = Transform3D(0.8856182, 0, -0.46441403, 0, 1, 0, 0.46441403, 0, 0.8856182, -0.025303185, 0.017004399, -0.011429907) size = Vector3(0.01, 0.1340088, 0.012324219) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D3" type="CSGBox3D" parent="CSGCombiner3D" unique_id=2028227382] +[node name="CSGBox3D3" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=2028227382] transform = Transform3D(0.9982952, 0.058366816, 0, -0.058366816, 0.9982952, 0, 0, 0, 1, 0.01182463, 0.014508067, -0.020026028) size = Vector3(0.005488281, 0.12901612, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D4" type="CSGBox3D" parent="CSGCombiner3D" unique_id=281966004] +[node name="CSGBox3D4" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=281966004] transform = Transform3D(0.7529522, 0.17319141, -0.63487613, -0.17018878, 0.98317415, 0.06636462, 0.6356876, 0.058079403, 0.7697584, 0.030878175, 0.017004376, 0.0073254704) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D5" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1396476812] +[node name="CSGBox3D5" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1396476812] transform = Transform3D(0.9059609, 0.09732082, -0.4120236, 0.057229556, 0.93613446, 0.3469537, 0.41947538, -0.33790648, 0.8425318, 0.022142533, 0.013039222, 0.0003975192) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D6" type="CSGBox3D" parent="CSGCombiner3D" unique_id=799991689] +[node name="CSGBox3D6" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=799991689] transform = Transform3D(0.84679973, -0.153204, -0.5093709, 0.13128299, 0.9881946, -0.07896996, 0.5154561, 0, 0.856916, -0.035753187, 0.02232056, 0.006355174) size = Vector3(0.010739746, 0.14464112, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D7" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1801209773] +[node name="CSGBox3D7" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1801209773] transform = Transform3D(0.97630554, 0.034820024, 0.21357699, 0, 0.98696935, -0.16090819, -0.21639681, 0.15709558, 0.96358365, 0.013860466, 0.019146731, 0.016792327) size = Vector3(0.01, 0.13829346, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D8" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1457970557] +[node name="CSGBox3D8" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1457970557] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.014735691, 0.014813228, 0.009678945) size = Vector3(0.01, 0.12962647, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D9" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1215031746] +[node name="CSGBox3D9" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1215031746] transform = Transform3D(0.98743933, -0.15799865, 0, 0.15799865, 0.98743933, 0, 0, 0, 1, -0.00090237334, 0.017004391, -0.023620732) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D10" type="CSGBox3D" parent="CSGCombiner3D" unique_id=532075410] +[node name="CSGBox3D10" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=532075410] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.021327257, 0.013287356, 0.022823062) size = Vector3(0.010739746, 0.12657471, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D11" type="CSGBox3D" parent="CSGCombiner3D" unique_id=2073146495] +[node name="CSGBox3D11" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=2073146495] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03040018, 0.009017946, 0.020780522) size = Vector3(0.01, 0.11803589, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D12" type="CSGBox3D" parent="CSGCombiner3D" unique_id=75858017] +[node name="CSGBox3D12" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=75858017] transform = Transform3D(0.97359693, 0, 0.22827391, 0.051342297, 0.9743782, -0.21897686, -0.22242515, 0.22491528, 0.9486517, -0.0036671162, 0.017004391, 0.02201752) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D13" type="CSGBox3D" parent="CSGCombiner3D" unique_id=632405164] +[node name="CSGBox3D13" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=632405164] transform = Transform3D(0.77419585, 0, 0.6329461, 0, 0.52134585, 0, -0.6329461, 0, 0.77419585, 0, -0.007927237, 0) size = Vector3(0.01, 0.1472046, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D14" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1656744815] +[node name="CSGBox3D14" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1656744815] transform = Transform3D(-0.8283986, -0.2356963, 0.46195662, -0.27667236, 0.7057101, 0.1542864, -0.48704025, 0, -0.8733795, 0.021192847, -0.004947574, 0.01600693) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D15" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1543269420] +[node name="CSGBox3D15" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1543269420] transform = Transform3D(-0.91507524, 0.2995426, 0.023545321, 0.40246198, 0.68106806, -0.010355539, -0.025721962, -5.579416e-10, -0.99966913, -0.01809039, 0.0024462799, 0.0042534657) size = Vector3(0.005488281, 0.15618286, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D16" type="CSGBox3D" parent="CSGCombiner3D" unique_id=254315930] +[node name="CSGBox3D16" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=254315930] transform = Transform3D(-0.92201805, 0, 0.38714674, 0, 0.7440292, 0, -0.38714674, 0, -0.92201805, -0.03251951, -0.0049475897, 0.0013081154) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D17" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1486469355] +[node name="CSGBox3D17" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1486469355] transform = Transform3D(-0.99966913, 0, 0.025721963, 0, 0.7440292, 0, -0.025721963, 0, -0.99966913, -0.023322525, -0.0049475795, -0.00594615) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D18" type="CSGBox3D" parent="CSGCombiner3D" unique_id=630552823] +[node name="CSGBox3D18" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=630552823] transform = Transform3D(-0.83532625, 0.10253985, 0.5321998, 0.116231225, 0.7369294, -0.07405278, -0.5373271, 0, -0.84337395, 0.032662854, -0.0009921952, -0.0025184364) size = Vector3(0.010739746, 0.14464112, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D19" type="CSGBox3D" parent="CSGCombiner3D" unique_id=239318459] +[node name="CSGBox3D19" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=239318459] transform = Transform3D(-0.9815485, 0, -0.19121267, 0, 0.74402916, 0, 0.19121267, 0, -0.9815485, -0.016665924, -0.0033536162, -0.014228297) size = Vector3(0.01, 0.13829346, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D20" type="CSGBox3D" parent="CSGCombiner3D" unique_id=928371372] +[node name="CSGBox3D20" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=928371372] transform = Transform3D(-0.99966913, 0, 0.025721963, 0, 0.7440292, 0, -0.025721963, 0, -0.99966913, 0.011737803, -0.00657787, -0.006381719) size = Vector3(0.01, 0.12962647, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D21" type="CSGBox3D" parent="CSGCombiner3D" unique_id=226684342] +[node name="CSGBox3D21" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=226684342] transform = Transform3D(-0.99966913, 0, 0.025721963, 0, 0.7440292, 0, -0.025721963, 0, -0.99966913, 0.0084346505, -0.0049475795, 0.026858818) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D22" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1692336606] +[node name="CSGBox3D22" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1692336606] transform = Transform3D(-0.99966913, 0, 0.025721963, 0, 0.7440292, 0, -0.025721963, 0, -0.99966913, 0.01866528, -0.0077131614, -0.019351937) size = Vector3(0.010739746, 0.12657471, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D23" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1460106852] +[node name="CSGBox3D23" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1460106852] transform = Transform3D(-0.99966913, 0, 0.025721963, 0, 0.7440292, 0, -0.025721963, 0, -0.99966913, -0.03309758, -0.010889728, -0.018640606) size = Vector3(0.01, 0.11803589, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D24" type="CSGBox3D" parent="CSGCombiner3D" unique_id=814233916] +[node name="CSGBox3D24" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=814233916] transform = Transform3D(-0.9791465, 0, -0.20315555, 0, 0.74402934, 0, 0.20315555, 0, -0.9791465, 0.0009902613, -0.0049475795, -0.019000916) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D25" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1206566850] +[node name="CSGBox3D25" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1206566850] transform = Transform3D(0.9997566, 0, -0.022063702, 0, 0.7440293, 0, 0.022063702, 0, 0.9997566, 0.034941338, -0.0049475897, -0.015364999) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D26" type="CSGBox3D" parent="CSGCombiner3D" unique_id=782469494] +[node name="CSGBox3D26" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=782469494] transform = Transform3D(0.9394602, 0, 0.34265807, 0, 0.7440292, 0, -0.34265807, 0, 0.9394602, 0.029045265, -0.0049475795, -0.0052434783) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D27" type="CSGBox3D" parent="CSGCombiner3D" unique_id=615899037] +[node name="CSGBox3D27" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=615899037] transform = Transform3D(0.9816637, 0, -0.19062132, 0, 0.74402916, 0, 0.19062132, 0, 0.9816637, -0.024296898, -0.0009921952, 0.012097965) size = Vector3(0.010739746, 0.14464112, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D28" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1440223352] +[node name="CSGBox3D28" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1440223352] transform = Transform3D(0.84304994, 0, 0.537835, 0, 0.74402916, 0, -0.537835, 0, 0.84304994, 0.025889535, -0.0033536162, 0.0049027367) size = Vector3(0.01, 0.13829346, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D29" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1162134484] +[node name="CSGBox3D29" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1162134484] transform = Transform3D(0.9394602, 0, 0.34265807, 0, 0.7440292, 0, -0.34265807, 0, 0.9394602, -0.0034128763, -0.00657787, 0.0080187) size = Vector3(0.01, 0.12962647, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D30" type="CSGBox3D" parent="CSGCombiner3D" unique_id=939036040] +[node name="CSGBox3D30" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=939036040] transform = Transform3D(0.9394602, 0, 0.34265807, 0, 0.7440292, 0, -0.34265807, 0, 0.9394602, -0.0018274263, -0.0049475795, -0.028005121) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D31" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1952616270] +[node name="CSGBox3D31" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1952616270] transform = Transform3D(0.9394602, 0, 0.34265807, 0, 0.7440292, 0, -0.34265807, 0, 0.9394602, -0.0051014535, -0.0077131614, 0.022625728) size = Vector3(0.010739746, 0.12657471, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D32" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1868626634] +[node name="CSGBox3D32" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=1868626634] transform = Transform3D(0.9394602, 0, 0.34265807, 0, 0.7440292, 0, -0.34265807, 0, 0.9394602, 0.042794522, -0.010889728, 0.0029820204) size = Vector3(0.01, 0.11803589, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D33" type="CSGBox3D" parent="CSGCombiner3D" unique_id=529418367] +[node name="CSGBox3D33" type="CSGBox3D" parent="Model/CSGCombiner3D" unique_id=529418367] transform = Transform3D(0.8364357, 0, 0.54806507, 0, 0.74402934, 0, -0.54806507, 0, 0.8364357, 0.011213522, -0.0049475795, 0.015817564) size = Vector3(0.01, 0.1340088, 0.01) material = SubResource("StandardMaterial3D_24d3s") -[node name="FoodItem" parent="." unique_id=63948206 instance=ExtResource("6_66ydo")] + +[node name="FoodItem" parent="." index="3"] id = "chips" type = 1 sell_value = 2 - -[node name="CombinableItem" parent="." unique_id=996936271 instance=ExtResource("7_qlknf")] - -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." unique_id=1263255707] -replication_config = SubResource("SceneReplicationConfig_np_cube") -script = ExtResource("8_do54s") - -[node name="DespawningItem" parent="." unique_id=303090111 instance=ExtResource("9_obvwg")] diff --git a/Items/chopped_potato.tscn b/Items/chopped_potato.tscn index b643401..cacdb7d 100644 --- a/Items/chopped_potato.tscn +++ b/Items/chopped_potato.tscn @@ -1,136 +1,101 @@ [gd_scene format=3 uid="uid://bpvp20hiagxxb"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_of0s8"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_cllfo"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_qjifl"] -[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_1hoyy"] -[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_83pbl"] -[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_bwaw5"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="7_7a0yr"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="8_wbxrg"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="9_jlkrg"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="BoxShape3D" id="BoxShape3D_of0s8"] size = Vector3(0.10456543, 0.1, 0.035327148) -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("4_1hoyy") -closed_pose = ExtResource("3_qjifl") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("4_1hoyy") -closed_pose = ExtResource("6_bwaw5") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_burger"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_of0s8"] albedo_color = Color(0.7546, 0.77, 0.30799997, 1) -[node name="ChoppedPotato" unique_id=1675596942 instance=ExtResource("1_of0s8")] -second_hand_grab = 1 +[node name="ChoppedPotato" unique_id=1675596942 instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="0"] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0.0022827126, 0.010339355, -0.0028051804) shape = SubResource("BoxShape3D_of0s8") -[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674 instance=ExtResource("2_cllfo")] +[node name="GrabPointHandLeft" parent="." index="1"] transform = Transform3D(0.4877618, 0.85191125, -0.19062005, -0.8708042, 0.49020204, -0.0374375, 0.06154889, 0.1842533, 0.98094976, 0.028727118, 0.03771837, -0.06794037) -hand_pose = SubResource("Resource_lc22d") -[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634 instance=ExtResource("5_83pbl")] +[node name="GrabPointHandRight" parent="." index="2"] transform = Transform3D(0.35819444, -0.933647, 0, 0.92118585, 0.35341373, -0.16283518, 0.1520306, 0.05832667, 0.98665327, -0.02374028, 0.05081141, -0.06576714) -hand_pose = SubResource("Resource_qyiot") -[node name="FoodItem" parent="." index="3" unique_id=63948206 instance=ExtResource("7_7a0yr")] +[node name="FoodItem" parent="." index="3"] id = "chopped_potato" type = 2 sell_value = 0 -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="4" unique_id=1382968688] -replication_config = SubResource("SceneReplicationConfig_np_burger") -script = ExtResource("8_wbxrg") +[node name="CombinableItem" parent="." index="8"] +enabled = false -[node name="DespawningItem" parent="." index="5" unique_id=303090111 instance=ExtResource("9_jlkrg")] +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Model" index="0" unique_id=1632388374] -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." index="6" unique_id=1632388374] - -[node name="CSGBox3D3" type="CSGBox3D" parent="CSGCombiner3D" index="0" unique_id=333574743] +[node name="CSGBox3D3" type="CSGBox3D" parent="Model/CSGCombiner3D" index="0" unique_id=333574743] transform = Transform3D(0.9982952, 0.058366816, 0, 2.5512945e-09, -4.363687e-08, -1, -0.058366816, 0.9982952, -4.371139e-08, 0.017540446, 0.012680878, -0.007841777) size = Vector3(0.012, 0.0737854, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D10" type="CSGBox3D" parent="CSGCombiner3D" index="1" unique_id=1055117011] +[node name="CSGBox3D10" type="CSGBox3D" parent="Model/CSGCombiner3D" index="1" unique_id=1055117011] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, -0.043418147, 0.013074134, 0.00018549338) size = Vector3(0.012, 0.048638918, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D11" type="CSGBox3D" parent="CSGCombiner3D" index="2" unique_id=12997588] +[node name="CSGBox3D11" type="CSGBox3D" parent="Model/CSGCombiner3D" index="2" unique_id=12997588] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0.0347388, 0, -0.0042848364) size = Vector3(0.012, 0.11803589, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D16" type="CSGBox3D" parent="CSGCombiner3D" index="3" unique_id=520084094] +[node name="CSGBox3D16" type="CSGBox3D" parent="Model/CSGCombiner3D" index="3" unique_id=520084094] transform = Transform3D(-0.9220182, 0, 0.38714683, 0.38714683, -3.2522554e-08, 0.9220182, 1.6922723e-08, 0.7440293, 4.030269e-08, -0.03251951, 0, -0.0066871783) size = Vector3(0.012, 0.1340088, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D18" type="CSGBox3D" parent="CSGCombiner3D" index="4" unique_id=1713154750] +[node name="CSGBox3D18" type="CSGBox3D" parent="Model/CSGCombiner3D" index="4" unique_id=1713154750] transform = Transform3D(-0.83532625, 0.10253985, 0.5321998, 0.5373272, -3.183022e-08, 0.8433741, 0.11623128, 0.7369294, -0.07405276, 0.012299374, 0, -0.0027317838) size = Vector3(0.012, 0.14464112, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D19" type="CSGBox3D" parent="CSGCombiner3D" index="5" unique_id=1856457460] +[node name="CSGBox3D19" type="CSGBox3D" parent="Model/CSGCombiner3D" index="5" unique_id=1856457460] transform = Transform3D(-0.9815485, 0, -0.19121267, -0.19121267, -3.2522546e-08, 0.9815485, -8.358171e-09, 0.74402916, 4.2904848e-08, 0.0047408585, 0.015360672, -0.0050932043) size = Vector3(0.012, 0.13829346, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D21" type="CSGBox3D" parent="CSGCombiner3D" index="6" unique_id=1085994272] +[node name="CSGBox3D21" type="CSGBox3D" parent="Model/CSGCombiner3D" index="6" unique_id=1085994272] transform = Transform3D(-0.99966913, 0, 0.025721963, 0.025721963, -3.252255e-08, 0.99966913, 1.1243427e-09, 0.7440292, 4.3696925e-08, 0.0084346505, -1.2525464e-10, -0.0038216766) size = Vector3(0.012, 0.14171143, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D24" type="CSGBox3D" parent="CSGCombiner3D" index="7" unique_id=799603447] +[node name="CSGBox3D24" type="CSGBox3D" parent="Model/CSGCombiner3D" index="7" unique_id=799603447] transform = Transform3D(-0.95734614, -0.16150172, -0.19071358, -0.19483496, -0.0018292161, 0.980833, -0.21337205, 0.7262875, -0.039937917, -0.015636567, 0.016941056, -0.0038651554) size = Vector3(0.012, 0.1340088, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D26" type="CSGBox3D" parent="CSGCombiner3D" index="8" unique_id=129671681] +[node name="CSGBox3D26" type="CSGBox3D" parent="Model/CSGCombiner3D" index="8" unique_id=129671681] transform = Transform3D(0.9394602, 0, 0.34265804, 0.34265804, -3.252255e-08, -0.9394602, 1.497806e-08, 0.7440292, -4.106511e-08, 0.033136886, 0.017579898, -0.0066871676) size = Vector3(0.012, 0.1340088, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D27" type="CSGBox3D" parent="CSGCombiner3D" index="9" unique_id=17129382] +[node name="CSGBox3D27" type="CSGBox3D" parent="Model/CSGCombiner3D" index="9" unique_id=17129382] transform = Transform3D(0.9816637, 0, -0.19062133, -0.19062132, -3.2522546e-08, -0.98166364, -8.332322e-09, 0.74402916, -4.2909882e-08, -0.019075055, -4.3606386e-05, -0.0027317842) size = Vector3(0.012, 0.14464112, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D28" type="CSGBox3D" parent="CSGCombiner3D" index="10" unique_id=1557637409] +[node name="CSGBox3D28" type="CSGBox3D" parent="Model/CSGCombiner3D" index="10" unique_id=1557637409] transform = Transform3D(0.84304994, 0, 0.537835, 0.537835, -3.2522546e-08, -0.84304994, 2.3509514e-08, 0.74402916, -3.6850885e-08, 0.047794472, 0.016187795, -0.0034102863) size = Vector3(0.012, 0.11199341, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D30" type="CSGBox3D" parent="CSGCombiner3D" index="11" unique_id=1187654453] +[node name="CSGBox3D30" type="CSGBox3D" parent="Model/CSGCombiner3D" index="11" unique_id=1187654453] transform = Transform3D(0.9394602, 0, 0.34265804, 0.34265804, -3.252255e-08, -0.9394602, 1.497806e-08, 0.7440292, -4.106511e-08, -0.005314119, 0, 0.009267362) size = Vector3(0.012, 0.1340088, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D32" type="CSGBox3D" parent="CSGCombiner3D" index="12" unique_id=733217969] +[node name="CSGBox3D32" type="CSGBox3D" parent="Model/CSGCombiner3D" index="12" unique_id=733217969] transform = Transform3D(0.9394602, 0, 0.34265804, 0.34265804, -3.252255e-08, -0.9394602, 1.497806e-08, 0.7440292, -4.106511e-08, 0.050648127, 9.4238846e-11, -0.0005330723) size = Vector3(0.012, 0.1122406, 0.012) material = SubResource("StandardMaterial3D_of0s8") -[node name="CSGBox3D29" type="CSGBox3D" parent="CSGCombiner3D" index="13" unique_id=1376406225] +[node name="CSGBox3D29" type="CSGBox3D" parent="Model/CSGCombiner3D" index="13" unique_id=1376406225] transform = Transform3D(0.9816637, 0, -0.19062133, -0.19062132, -3.2522546e-08, -0.98166364, -8.332322e-09, 0.74402916, -4.2909882e-08, -0.04667829, -4.360572e-05, -0.0065923333) size = Vector3(0.012, 0.10369263, 0.012) material = SubResource("StandardMaterial3D_of0s8") diff --git a/Items/cooked_burger.tscn b/Items/cooked_burger.tscn index edff0e1..816cc40 100644 --- a/Items/cooked_burger.tscn +++ b/Items/cooked_burger.tscn @@ -1,15 +1,6 @@ [gd_scene format=3 uid="uid://cfc4ho67u4r5e"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_ut7mg"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="3_pkevi"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="4_dq7qw"] -[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="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_6p8pj"] -[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="10_ut7mg"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="10_zz42p"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] height = 0.04777527 @@ -18,56 +9,19 @@ radius = 0.08300781 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6l01i"] albedo_color = Color(0.29, 0.101500005, 0, 1) -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("5_ychvb") -closed_pose = ExtResource("4_dq7qw") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("5_ychvb") -closed_pose = ExtResource("7_rl64h") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_cookedburger"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - -[node name="CookedBurger" unique_id=1675596942 instance=ExtResource("1_ut7mg")] -second_hand_grab = 1 +[node name="CookedBurger" unique_id=1675596942 instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="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] +[node name="FoodItem" parent="." index="3"] +id = "cooked_burger" +type = 2 +sell_value = 1 + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Model" index="0" unique_id=59319982] radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_6l01i") - -[node name="GrabPointHandLeft" parent="." index="2" unique_id=1571481674 instance=ExtResource("3_pkevi")] -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="3" unique_id=514404634 instance=ExtResource("6_etdv2")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) -hand_pose = SubResource("Resource_qyiot") - -[node name="FoodItem" parent="." index="4" unique_id=234567891 instance=ExtResource("10_zz42p")] -id = "cooked_burger" -type = 2 - -[node name="CombinableItem" parent="." index="5" unique_id=996936271 instance=ExtResource("10_ut7mg")] - -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="6" unique_id=925955029] -replication_config = SubResource("SceneReplicationConfig_np_cookedburger") -script = ExtResource("20_netpk") - -[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("10_6p8pj")] diff --git a/Items/knife.tscn b/Items/knife.tscn index 294ba21..01ad31c 100644 --- a/Items/knife.tscn +++ b/Items/knife.tscn @@ -1,44 +1,11 @@ [gd_scene format=3 uid="uid://dgk88esxip5xi"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_apu43"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_ti0k8"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_xyohi"] -[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_4iajw"] -[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_kni1i"] -[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_b3is5"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="8_2ao4o"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] height = 0.29805934 radius = 0.025390625 -[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] -size = Vector3(0.01, 0.062841795, 0.18769531) - -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("4_4iajw") -closed_pose = ExtResource("3_xyohi") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("4_4iajw") -closed_pose = ExtResource("6_b3is5") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_burger"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 -properties/3/path = NodePath(".:enabled") -properties/3/spawn = false -properties/3/replication_mode = 1 - [sub_resource type="Gradient" id="Gradient_s6exe"] interpolation_mode = 2 offsets = PackedFloat32Array(0.0088495575, 0.76106197) @@ -60,67 +27,60 @@ albedo_color = Color(0.6, 0.6, 0.6, 1) metallic = 1.0 metallic_specular = 1.0 -[node name="Knife" unique_id=1675596942 groups=["chopping_tool"] instance=ExtResource("1_apu43")] -second_hand_grab = 1 +[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] +size = Vector3(0.01, 0.062841795, 0.18769531) + +[node name="Knife" unique_id=1675596942 groups=["chopping_tool"] instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="0"] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 2.8164342e-09, -0.0644325) shape = SubResource("CylinderShape3D_fco8w") -[node name="Area3D" type="Area3D" parent="." index="1" unique_id=1995926098 groups=["chopping_tool"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.05011083) -collision_layer = 513 -collision_mask = 0 - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0" unique_id=1593629505] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.018579103, -0.1395939) -shape = SubResource("BoxShape3D_vlqg6") - -[node name="GrabPointHandLeft" parent="." index="2" unique_id=1571481674 instance=ExtResource("2_ti0k8")] +[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674] transform = Transform3D(1, 0, 0, 0, 0.80581045, 0.5921736, 0, -0.5921736, 0.80581045, -0.0055686757, -0.027660534, -0.06972287) -hand_pose = SubResource("Resource_lc22d") -[node name="GrabPointHandRight" parent="." index="3" unique_id=514404634 instance=ExtResource("5_kni1i")] +[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634] transform = Transform3D(1, 0, 0, 0, 0.7906625, 0.6122523, 0, -0.6122523, 0.7906625, -0.00973678, -0.036154382, -0.07772979) -hand_pose = SubResource("Resource_qyiot") -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="4" unique_id=1382968688] -replication_config = SubResource("SceneReplicationConfig_np_burger") -script = ExtResource("8_2ao4o") +[node name="DespawningItem" parent="." index="5" unique_id=303090111] +enabled = false -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." index="5" unique_id=1632388374] +[node name="CombinableItem" parent="." index="6" unique_id=996936271] +enabled = false + +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Model" parent_id_path=PackedInt32Array(1015960306) index="0" unique_id=1632388374] transform = Transform3D(0.45, 0, 0, 0, 0.45, 0, 0, 0, 0.45, 0, 0, 0) -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" index="0" unique_id=73312047] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Model/CSGCombiner3D" index="0" unique_id=73312047] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 1.9443882e-09, 0.044482417) radius = 0.05 height = 0.28896484 sides = 16 material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D/CSGCylinder3D" index="0" unique_id=1092536616] +[node name="CSGBox3D2" type="CSGBox3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="0" unique_id=1092536616] transform = Transform3D(1, 0, 0, 0, -4.3711392e-08, -1, 0, 1, -4.3711392e-08, -0.06291181, -0.003074348, 0.003173826) operation = 2 size = Vector3(0.06698901, 0.08496094, 0.3070221) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D3" type="CSGBox3D" parent="CSGCombiner3D/CSGCylinder3D" index="1" unique_id=611507380] +[node name="CSGBox3D3" type="CSGBox3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="1" unique_id=611507380] transform = Transform3D(1, 0, 0, 0, -4.3711392e-08, -1, 0, 1, -4.3711392e-08, 0.057669085, -0.00014465302, 0.003173826) operation = 2 size = Vector3(0.051974364, 0.08496094, 0.30897522) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCylinder3D" index="2" unique_id=1981876218] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="2" unique_id=1981876218] transform = Transform3D(-4.3711392e-08, 1, 0, 4.3711392e-08, 1.9106857e-15, -1, -1, -4.3711392e-08, -4.3711392e-08, 0.0014698628, 0.062123798, 0.00029686643) radius = 0.016 height = 0.06318359 -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCylinder3D" index="3" unique_id=1905314362] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="3" unique_id=1905314362] transform = Transform3D(-4.3711392e-08, 1, 0, 4.3711392e-08, 1.9106857e-15, -1, -1, -4.3711392e-08, -4.3711392e-08, 0.0014698628, -0.049634382, 0.00029686154) radius = 0.016 height = 0.06318359 -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCylinder3D" index="4" unique_id=905243368] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="4" unique_id=905243368] transform = Transform3D(-6.070399e-08, 1, 0, 1.3887457, 4.3711392e-08, 8.7422784e-08, 1.21408e-07, 3.8213714e-15, -1, 0.0017506231, -0.10254226, -0.07109782) operation = 2 radius = 0.032226563 @@ -128,7 +88,7 @@ height = 0.07854004 sides = 32 material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCylinder3D" index="5" unique_id=1873534320] +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="5" unique_id=1873534320] transform = Transform3D(-1.0240791e-07, 1, 0, 2.34282, 4.3711392e-08, 8.7422784e-08, 2.0481582e-07, 3.8213714e-15, -1, 0.0017506231, 0.089636564, -0.07143875) operation = 2 radius = 0.032226563 @@ -136,7 +96,7 @@ height = 0.07854004 sides = 32 material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCylinder3D" index="6" unique_id=471254428] +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Model/CSGCombiner3D/CSGCylinder3D" index="6" unique_id=471254428] transform = Transform3D(-1.0240791e-07, 1, 0, 2.34282, 4.3711392e-08, 8.7422784e-08, 2.0481582e-07, 3.8213714e-15, -1, 0.0017506231, -0.079547666, -0.07143876) operation = 2 radius = 0.032226563 @@ -144,18 +104,27 @@ height = 0.07854004 sides = 32 material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3DBlade" type="CSGBox3D" parent="CSGCombiner3D" index="1" unique_id=94519802] +[node name="CSGBox3DBlade" type="CSGBox3D" parent="Model/CSGCombiner3D" index="1" unique_id=94519802] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.005445559, -0.18191797) size = Vector3(0.007, 0.08954346, 0.6364492) material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGTorus3D" type="CSGTorus3D" parent="CSGCombiner3D/CSGBox3DBlade" index="0" unique_id=555698965] +[node name="CSGTorus3D" type="CSGTorus3D" parent="Model/CSGCombiner3D/CSGBox3DBlade" index="0" unique_id=555698965] transform = Transform3D(-4.3711392e-08, 1, 0, -1, -4.3711392e-08, 0, 0, 0, 0.90598416, 0, 0.25891897, -0.12508947) operation = 2 outer_radius = 0.3 sides = 64 -[node name="CSGBox3D5" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3DBlade/CSGTorus3D" index="0" unique_id=720590378] +[node name="CSGBox3D5" type="CSGBox3D" parent="Model/CSGCombiner3D/CSGBox3DBlade/CSGTorus3D" index="0" unique_id=720590378] transform = Transform3D(-4.3710607e-08, -0.9973613, 0.0724587, 0.99998987, -4.3595673e-08, 3.1672265e-09, 0, 0.034851935, 0.47972566, 0.25730363, -0.003919763, 0.23939973) operation = 2 size = Vector3(0.40247935, 0.2781372, 0.97288764) + +[node name="Area3D" type="Area3D" parent="." index="9" unique_id=1995926098 groups=["chopping_tool"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.05011083) +collision_layer = 513 +collision_mask = 0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0" unique_id=1593629505] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.018579103, -0.1395939) +shape = SubResource("BoxShape3D_vlqg6") diff --git a/Items/potato.tscn b/Items/potato.tscn index 6dcb3d5..3a4bb4c 100644 --- a/Items/potato.tscn +++ b/Items/potato.tscn @@ -1,78 +1,43 @@ [gd_scene format=3 uid="uid://drwuhqb3pjtiy"] -[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_wihyv"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="3_a8yvn"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="4_d124x"] -[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="5_7epdb"] -[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="6_14hae"] -[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="7_hkms5"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="8_35g7i"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="9_x0uku"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_fj22u"] +[ext_resource type="PackedScene" uid="uid://d8jo0402pgl6" path="res://abstract/food_item.tscn" id="1_food_item"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] height = 0.16196387 radius = 0.07080078 -[sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("5_7epdb") -closed_pose = ExtResource("4_d124x") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("5_7epdb") -closed_pose = ExtResource("7_hkms5") -metadata/_custom_type_script = "uid://dvobm6vcfnqe8" - -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_burger"] -properties/0/path = NodePath(".:position") -properties/0/spawn = false -properties/0/replication_mode = 1 -properties/1/path = NodePath(".:quaternion") -properties/1/spawn = false -properties/1/replication_mode = 1 -properties/2/path = NodePath("NetPickable:net_held_by") -properties/2/spawn = true -properties/2/replication_mode = 1 - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d4wpw"] albedo_color = Color(0.48, 0.34336, 0.1872, 1) -[node name="Potato" unique_id=1675596942 instance=ExtResource("1_wihyv")] -second_hand_grab = 1 +[node name="Potato" unique_id=1675596942 instance=ExtResource("1_food_item")] [node name="CollisionShape3D" parent="." index="0"] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 1.2261836e-10, -0.0028051808) shape = SubResource("CylinderShape3D_fco8w") -[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674 instance=ExtResource("3_a8yvn")] +[node name="GrabPointHandLeft" parent="." index="1"] transform = Transform3D(1, 0, 0, 0, -0.5343598, -0.84525716, 0, 0.84525716, -0.5343598, -0.03287975, 0.03671424, 0.10207943) -hand_pose = SubResource("Resource_lc22d") -[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634 instance=ExtResource("6_14hae")] +[node name="GrabPointHandRight" parent="." index="2"] transform = Transform3D(1, 0, 0, 0, -0.7457213, -0.66625804, 0, 0.66625804, -0.7457213, 0.03408891, 0.014529038, 0.10517749) -hand_pose = SubResource("Resource_qyiot") -[node name="FoodItem" parent="." index="3" unique_id=63948206 instance=ExtResource("8_35g7i")] +[node name="FoodItem" parent="." index="3"] id = "potato" type = 2 sell_value = 0 -[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="4" unique_id=1382968688] -replication_config = SubResource("SceneReplicationConfig_np_burger") -script = ExtResource("9_x0uku") +[node name="CombinableItem" parent="." index="8"] +enabled = false -[node name="DespawningItem" parent="." index="5" unique_id=303090111 instance=ExtResource("10_fj22u")] +[node name="CSGCombiner3DPotato" type="CSGCombiner3D" parent="Model" index="0" unique_id=1632388374] -[node name="CSGCombiner3DPotato" type="CSGCombiner3D" parent="." index="6" unique_id=1632388374] - -[node name="CSGSphere3D" type="CSGSphere3D" parent="CSGCombiner3DPotato" index="0" unique_id=125051486] +[node name="CSGSphere3D" type="CSGSphere3D" parent="Model/CSGCombiner3DPotato" index="0" unique_id=125051486] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.03307341) radius = 0.06 radial_segments = 32 material = SubResource("StandardMaterial3D_d4wpw") -[node name="CSGSphere3D2" type="CSGSphere3D" parent="CSGCombiner3DPotato" index="1" unique_id=837168454] +[node name="CSGSphere3D2" type="CSGSphere3D" parent="Model/CSGCombiner3DPotato" index="1" unique_id=837168454] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.03243477) radius = 0.053 radial_segments = 32 diff --git a/Net/net_pickable.gd b/Net/net_pickable.gd index cfeebeb..846894b 100644 --- a/Net/net_pickable.gd +++ b/Net/net_pickable.gd @@ -41,6 +41,22 @@ func _ready() -> void: if not _pickable: SweetLogger.error("{0} must be a child of an XRToolsPickable", [name]) return + + # Configure Multiplayer Synchronizer + # This overwrites any changes made in the inspector. + replication_config = SceneReplicationConfig.new() + var properties: Array[NodePath] = [".:position", ".:quaternion", ".:enabled"] + for property_path in properties: + replication_config.add_property(property_path) + replication_config.property_set_replication_mode(property_path, SceneReplicationConfig.REPLICATION_MODE_ALWAYS) + replication_config.property_set_spawn(property_path, false) + # Unlike the properties above, this one is replicated at spawn too, so a + # late joiner sees the current holder immediately. + var held_by_path := NodePath("NetPickable:net_held_by") + replication_config.add_property(held_by_path) + replication_config.property_set_replication_mode(held_by_path, SceneReplicationConfig.REPLICATION_MODE_ALWAYS) + replication_config.property_set_spawn(held_by_path, true) + _original_freeze_mode = _pickable.freeze_mode _original_enabled = _pickable.enabled _pickable.picked_up.connect(_on_picked_up) diff --git a/Prefabs/build_mode_controller.gd b/Prefabs/build_mode_controller.gd index 7306ba9..5c02eca 100644 --- a/Prefabs/build_mode_controller.gd +++ b/Prefabs/build_mode_controller.gd @@ -25,13 +25,16 @@ func _set_stations_enabled(value: bool) -> void: station.enabled = value -# Despawn all food_items unless it's in a "persistent_inventory" snap_zone +# Despawn all despawnable pickables unless it's in a "persistent_inventory" +# snap_zone. Permanent fixtures (e.g. a station's knife) opt out entirely by +# having no DespawningItem child, or a disabled one. func despawn_unheld_pickables(): var root = get_tree().get_root() var pickables: Array[Node] = [] _collect_pickables(root, pickables) for pickable in pickables: - if not Helper.find_food_item(pickable): + var despawning_item := pickable.get_node_or_null("DespawningItem") as DespawningItem + if not despawning_item or not despawning_item.enabled: continue var held_by: Node = pickable.get_picked_up_by() if not held_by: diff --git a/Prefabs/combinable_item.gd b/Prefabs/combinable_item.gd index 3b64329..0a42570 100644 --- a/Prefabs/combinable_item.gd +++ b/Prefabs/combinable_item.gd @@ -1,6 +1,8 @@ class_name CombinableItem extends Node +@export var enabled: bool = true + @onready var combine_area_3d: Area3D = $Area3d @onready var _pickable: XRToolsPickable = get_parent() as XRToolsPickable @@ -21,6 +23,8 @@ func _ready() -> void: if not _food_item: SweetLogger.warning("{0} requires a FoodItem sibling", [_pickable.name]) return + if not enabled: + return # Detect items whether held (layer 17 "Held Objects") or loose # (layer 3 "Pickable Objects"). Don't advertise a layer of our own. diff --git a/Prefabs/despawning_item.gd b/Prefabs/despawning_item.gd index 86cc970..e5b3b49 100644 --- a/Prefabs/despawning_item.gd +++ b/Prefabs/despawning_item.gd @@ -1,6 +1,8 @@ extends Node class_name DespawningItem +@export var enabled: bool = true + @export var time_to_despawn: float = 8 # The minimum speed required to reset despawn timer. @@ -20,9 +22,12 @@ func _ready() -> void: if not _rigid: SweetLogger.error("{0} must be a grandchild of a RigidBody3D", [name]) return - + func _process(delta: float) -> void: + if not enabled: + return + # Despawning is a world decision, so only the owner of world logic runs the # clock. Every peer used to run its own copy: the countdown drifted between # them and the blink below toggled `visible` locally, so the same item was diff --git a/abstract/food_item.tscn b/abstract/food_item.tscn new file mode 100644 index 0000000..9bf6e4d --- /dev/null +++ b/abstract/food_item.tscn @@ -0,0 +1,71 @@ +[gd_scene format=3 uid="uid://d8jo0402pgl6"] + +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_cvkx3"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="3_q03o5"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="4_6r7kg"] +[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="5_l1fi6"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="6_iejgm"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="7_hei0k"] +[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="8_tkk28"] +[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="9_8m8gg"] +[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_vkoit"] +[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="11_combinable"] + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] +height = 0.054896355 +radius = 0.05517578 + +[sub_resource type="Resource" id="Resource_lc22d"] +script = ExtResource("5_l1fi6") +closed_pose = ExtResource("4_6r7kg") +metadata/_custom_type_script = "uid://dvobm6vcfnqe8" + +[sub_resource type="Resource" id="Resource_qyiot"] +script = ExtResource("5_l1fi6") +closed_pose = ExtResource("7_hei0k") +metadata/_custom_type_script = "uid://dvobm6vcfnqe8" + +[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_burger"] +properties/0/path = NodePath(".:position") +properties/0/spawn = false +properties/0/replication_mode = 1 +properties/1/path = NodePath(".:quaternion") +properties/1/spawn = false +properties/1/replication_mode = 1 +properties/2/path = NodePath("NetPickable:net_held_by") +properties/2/spawn = true +properties/2/replication_mode = 1 +properties/3/path = NodePath(".:enabled") +properties/3/spawn = false +properties/3/replication_mode = 1 + +[node name="FoodItem" unique_id=1675596942 instance=ExtResource("1_cvkx3")] +second_hand_grab = 1 + +[node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.028505921, 0) +shape = SubResource("CylinderShape3D_fco8w") + +[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674 instance=ExtResource("3_q03o5")] +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("6_iejgm")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) +hand_pose = SubResource("Resource_qyiot") + +[node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="3" unique_id=1382968688] +replication_config = SubResource("SceneReplicationConfig_np_burger") +script = ExtResource("9_8m8gg") + +[node name="FoodItem" parent="." index="4" unique_id=63948206 instance=ExtResource("8_tkk28")] +id = "item_id" +sell_value = 0 + +[node name="DespawningItem" parent="." index="5" unique_id=303090111 instance=ExtResource("10_vkoit")] + +[node name="CombinableItem" parent="." index="6" unique_id=996936271 instance=ExtResource("11_combinable")] + +[node name="SoundManager" type="Node3D" parent="." index="7" unique_id=118155212] + +[node name="Model" type="Node3D" parent="." index="8" unique_id=1015960306]