diff --git a/Containers/container.gd b/Containers/container.gd index 2ceb2db..9ba6913 100644 --- a/Containers/container.gd +++ b/Containers/container.gd @@ -1,6 +1,8 @@ class_name ItemContainer extends Node3D +const RECIPE_MANAGER = preload("res://scripts/recipe_Manager.gd") + @export var enabled: bool = true @export var target_group : String # Items with this tag can be added to the container @export var meal_positions: Array[Node3D] = [] @@ -27,8 +29,8 @@ func _ready() -> void: # Absorbing items is a server decision (the container's holder is server- # snapped into a station, matching table.gd/hob.gd's convention). func _on_body_entered(body: Node3D) -> void: - if not NetworkManager.owns_world(): - return + #if not NetworkManager.owns_world(): + #return print("Container enabled: ", enabled) if not enabled: print("Container disabled in _on_body_entered body") @@ -90,7 +92,7 @@ func _add_item(item: Node3D) -> void: updated.append(food_node.id) plate_controller.contained_ids = updated - NetworkManager.despawn_item(item) + item.queue_free() func erase_item(item: FoodItem) -> void: @@ -122,7 +124,7 @@ func refresh_visuals(ids: Array[String]) -> void: var meal_idx := 0 var side_idx := 0 for id in ids: - var scene := RecipeManager.get_item_scene(id) + var scene := RECIPE_MANAGER.get_item_scene(id) if not scene: continue var visual := scene.instantiate() @@ -195,7 +197,7 @@ func _remove_from_physics(visual: Node3D) -> void: PhysicsServer3D.body_set_space((visual as RigidBody3D).get_rid(), RID()) var despawning_item = visual.get_node_or_null("DespawningItem") if despawning_item: - NetworkManager.despawn_item(despawning_item) + despawning_item.queue_free() #plate (Pickalbe) diff --git a/Containers/container.tscn b/Containers/container.tscn index 0db0167..3a6dd3d 100644 --- a/Containers/container.tscn +++ b/Containers/container.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://du31pqeytu8as"] -[ext_resource type="Script" uid="uid://6lyhyial1fh5" path="res://Containers/container.gd" id="1_r4cle"] +[ext_resource type="Script" uid="uid://6lyhyial1fh5" path="res://containers/container.gd" id="1_r4cle"] [sub_resource type="SphereShape3D" id="SphereShape3D_vlqg6"] radius = 0.3 diff --git a/Containers/plate.tscn b/Containers/plate.tscn index cd06c7f..9cf0ad4 100644 --- a/Containers/plate.tscn +++ b/Containers/plate.tscn @@ -1,8 +1,8 @@ [gd_scene format=3 uid="uid://bp3v1jl8pctro"] [ext_resource type="Script" uid="uid://bfrlpbsqg5lqr" path="res://addons/godot-xr-tools/objects/pickable.gd" id="1_nq5sa"] -[ext_resource type="PackedScene" uid="uid://du31pqeytu8as" path="res://Containers/container.tscn" id="1_s5yhh"] -[ext_resource type="Script" uid="uid://iqjqsk4v6qfh" path="res://Containers/plate_controller.gd" id="1_vjsmi"] +[ext_resource type="PackedScene" uid="uid://du31pqeytu8as" path="res://containers/container.tscn" id="1_s5yhh"] +[ext_resource type="Script" uid="uid://iqjqsk4v6qfh" path="res://containers/plate_controller.gd" id="1_vjsmi"] [ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_3bkoa"] [ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_6v47p"] [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_dhtvl"] diff --git a/Items/Charcoal.tscn b/Items/Charcoal.tscn index c9ec3f1..a0b4898 100644 --- a/Items/Charcoal.tscn +++ b/Items/Charcoal.tscn @@ -6,9 +6,9 @@ [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="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"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_gkni8"] diff --git a/Items/PickupCube.tscn b/Items/PickupCube.tscn index 901274e..22fe7ec 100644 --- a/Items/PickupCube.tscn +++ b/Items/PickupCube.tscn @@ -6,9 +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="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="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"] [sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"] diff --git a/Items/burger.tscn b/Items/burger.tscn index 993fd91..e3f12e9 100644 --- a/Items/burger.tscn +++ b/Items/burger.tscn @@ -1,14 +1,14 @@ [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="Texture2D" uid="uid://cexxfyw03hr81" path="res://Textures/1.png" id="2_r8jvx"] +[ext_resource type="Texture2D" uid="uid://cexxfyw03hr81" 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="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"] diff --git a/Items/BurgerBuns.tscn b/Items/burger_buns.tscn similarity index 96% rename from Items/BurgerBuns.tscn rename to Items/burger_buns.tscn index 59a7237..ffae78e 100644 --- a/Items/BurgerBuns.tscn +++ b/Items/burger_buns.tscn @@ -6,9 +6,9 @@ [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="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"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_vlqg6"] diff --git a/Items/cooked_burger.tscn b/Items/cooked_burger.tscn index 1909b01..1539ce7 100644 --- a/Items/cooked_burger.tscn +++ b/Items/cooked_burger.tscn @@ -6,9 +6,9 @@ [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="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"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] diff --git a/Items/hamburger.tscn b/Items/hamburger.tscn index e11b269..ffbbeb3 100644 --- a/Items/hamburger.tscn +++ b/Items/hamburger.tscn @@ -1,27 +1,27 @@ [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"] -[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://Prefabs/food_item.tscn" id="7_yy3y8"] -[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://Prefabs/despawning_item.tscn" id="9_ej8jm"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_gu23e"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_l78s7"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="3_d4y38"] +[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_bejy7"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_cu6ps"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_jq7iw"] +[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="7_fn8yh"] +[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="8_f6bya"] +[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="9_4uadj"] [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") +script = ExtResource("4_bejy7") +closed_pose = ExtResource("3_d4y38") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" [sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("4_cljtj") -closed_pose = ExtResource("6_fh0f6") +script = ExtResource("4_bejy7") +closed_pose = ExtResource("6_jq7iw") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3gf3l"] @@ -41,18 +41,18 @@ properties/2/path = NodePath("NetPickable:net_held_by") properties/2/spawn = true properties/2/replication_mode = 1 -[node name="Hamburger" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_3gf3l")] +[node name="Hamburger" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_gu23e")] gravity_scale = 0.04 [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")] +[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674 instance=ExtResource("2_l78s7")] 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")] +[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634 instance=ExtResource("5_cu6ps")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182) hand_pose = SubResource("Resource_qyiot") @@ -90,13 +90,13 @@ height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_6l01i") -[node name="FoodItem" parent="." index="5" unique_id=63948206 instance=ExtResource("7_yy3y8")] +[node name="FoodItem" parent="." index="5" unique_id=63948206 instance=ExtResource("7_fn8yh")] id = "hamburger" type = 0 sell_value = 4 [node name="NetPickable" type="MultiplayerSynchronizer" parent="." index="6" unique_id=56164120] replication_config = SubResource("SceneReplicationConfig_np_hamburger") -script = ExtResource("20_netpk") +script = ExtResource("8_f6bya") -[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("9_ej8jm")] +[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("9_4uadj")] diff --git a/Scenes/multiplayer_world.gd b/Net/DEPRICATED_multiplayer_world.gd similarity index 100% rename from Scenes/multiplayer_world.gd rename to Net/DEPRICATED_multiplayer_world.gd diff --git a/Scenes/multiplayer_world.gd.uid b/Net/DEPRICATED_multiplayer_world.gd.uid similarity index 100% rename from Scenes/multiplayer_world.gd.uid rename to Net/DEPRICATED_multiplayer_world.gd.uid diff --git a/Net/network_manager.gd b/Net/DEPRICATERD_network_manager.gd similarity index 100% rename from Net/network_manager.gd rename to Net/DEPRICATERD_network_manager.gd diff --git a/Net/network_manager.gd.uid b/Net/DEPRICATERD_network_manager.gd.uid similarity index 100% rename from Net/network_manager.gd.uid rename to Net/DEPRICATERD_network_manager.gd.uid diff --git a/Net/net_pickable.gd b/Net/net_pickable.gd index 430ccec..c7c4936 100644 --- a/Net/net_pickable.gd +++ b/Net/net_pickable.gd @@ -1,209 +1,209 @@ extends MultiplayerSynchronizer - -## Networked sync component for a pickable item. Added as a child literally -## named "NetPickable" (network_manager.gd's authority RPCs already expect -## this) of every net-synced pickable, replicating its transform and held -## state. Only the current multiplayer authority (the server while loose, or -## whichever peer is holding it) actually simulates physics for the item; -## every other peer freezes their local copy and just follows the synced -## transform. - -## 0 = loose/server-simulated; otherwise the peer id currently holding it. -## Replicated at spawn and on change so a late joiner sees the current holder. -var net_held_by: int = 0: set = _set_net_held_by - -var _pickable: XRToolsPickable - -# This item's own baked freeze_mode (e.g. plate.tscn bakes KINEMATIC, not the -# RigidBody3D default of STATIC) — captured once so it can be restored when -# this peer regains ownership, instead of getting stuck on whatever -# apply_held_state() last forced it to while non-authority. -var _original_freeze_mode: int - -# Same idea for the pickable's authored `enabled` flag, which the non-authority -# branch of apply_held_state() clears while someone else is holding the item. -var _original_enabled: bool - -# Whether the "our own hand still holds this" guard has already been logged for -# the current grab. apply_held_state() runs every network tick, so without this -# the guard message repeats for as long as you hold the item. -var _grab_race_logged := false - - -func _ready() -> void: - _pickable = get_parent() as XRToolsPickable - if not _pickable: - push_error("NetPickable must be a child of an XRToolsPickable") - return - _original_freeze_mode = _pickable.freeze_mode - _original_enabled = _pickable.enabled - _pickable.picked_up.connect(_on_picked_up) - _pickable.dropped.connect(_on_dropped) - # Deferred: the pickable root captures its own original_collision_mask/ - # original_collision_layer via @onready, which runs AFTER this child's - # _ready() but BEFORE the root's _ready() body. Calling apply_held_state - # synchronously here would freeze/mask the item before that capture runs, - # permanently corrupting the "restore on drop" values. - apply_held_state.call_deferred() - - -func _set_net_held_by(value: int) -> void: - var old := net_held_by - net_held_by = value - if old != value and NetworkManager.is_online(): - print("%s net_held_by: %d -> %d (local state: %s, authority=%d)" % [ - _pickable.name, old, value, _holder_desc(), get_multiplayer_authority() - ]) - apply_held_state() - - -## Puts the item in the right physics state for whether this peer currently -## owns it. Called locally after net_held_by changes, and directly by -## NetworkManager._set_item_authority right after an authority handoff. -## -## IMPORTANT: this runs on every network tick, not just on a real change. -## net_held_by is replicated in ALWAYS mode, so the synchronizer assigns it every -## tick on non-authority peers — unchanged value included — and that assignment -## lands in _set_net_held_by(), which calls this. So every branch here has to be -## idempotent and silent when there is nothing to do: otherwise each item logs a -## line and rewrites four physics properties every tick on every peer that -## doesn't own it. -func apply_held_state() -> void: - if not _pickable: - return - if not NetworkManager.is_online() or is_multiplayer_authority(): - _grab_race_logged = false - # We own this item's simulation (offline, loose+server, or currently - # holding it). If it's not actively in our own hand right now, make - # sure it isn't still left frozen/collision-less from a previous - # non-authority period (e.g. right after regaining authority when a - # client released it) — while actually held, XRToolsPickable's own - # pick_up()/let_go() already manage these fields, so leave those be. - if not _pickable.is_picked_up(): - var changed := _pickable.freeze_mode != _original_freeze_mode \ - or _pickable.collision_mask != _pickable.original_collision_mask - if changed: - if NetworkManager.is_online(): - print( - "%s: reclaiming ownership, restoring freeze_mode %d->%d collision_mask %d->%d" % [ - _pickable.name, _pickable.freeze_mode, _original_freeze_mode, - _pickable.collision_mask, _pickable.original_collision_mask - ] - ) - _pickable.freeze_mode = _original_freeze_mode - _pickable.collision_mask = _pickable.original_collision_mask - # Unlike freeze/collision (which XRToolsPickable manages itself while - # held), `enabled` is only ever written by the non-authority branch - # below, so it must be restored here or it stays false forever: once a - # client grabbed this item, every other peer set enabled=false, and - # regaining authority left it that way. On the server that silently - # broke everything downstream — hands couldn't pick the item up again, - # and a station snap zone would "snap" it (emitting has_picked_up, so - # e.g. a plate still got marked dirty) while pick_up() bailed out on - # the disabled item, leaving the zone holding an item with no grab - # driver that then fell out of the station. - if _pickable.enabled != _original_enabled: - if NetworkManager.is_online(): - print("%s: reclaiming ownership, restoring enabled %s->%s" % [ - _pickable.name, _pickable.enabled, _original_enabled - ]) - _pickable.enabled = _original_enabled - return - # A net_held_by/position sync update can race ahead of the - # authority-handoff RPC that's about to confirm a grab we just made - # optimistically (they travel on different channels with no ordering - # guarantee). Don't let a stale sync value yank an item out of our own - # hand mid-grab — only an explicit force_release_item rejection, or - # actually losing authority for real, should end a grab we initiated. - if _pickable.is_picked_up() and _pickable.get_picked_up_by() is XRToolsFunctionPickup: - # Log once per grab, not once per tick. - if NetworkManager.is_online() and not _grab_race_logged: - _grab_race_logged = true - print( - "%s: ignoring non-authority sync (net_held_by=%d) — still actively held by our own hand (grab-race guard)" % [ - _pickable.name, net_held_by - ] - ) - return - _grab_race_logged = false - # Someone else owns it: stop simulating locally, just follow the sync. - if _pickable.is_picked_up(): - if NetworkManager.is_online(): - print( - "%s: was held by %s on this peer, but authority now says peer %d owns it — force-dropping" % [ - _pickable.name, _holder_desc(), net_held_by - ] - ) - _pickable.drop() - # Bail out when we're already in the follow-the-sync state. Without this the - # writes below (and the line logged with them) repeated every tick for every - # item on every non-authority peer — 90% of the log, plus four redundant - # physics-property writes per item per tick. The comparison also means we - # still re-apply if something else perturbs the state (e.g. let_go() - # restoring the collision mask after a force-drop). - var want_enabled := (net_held_by == 0) - if _pickable.freeze \ - and _pickable.freeze_mode == RigidBody3D.FREEZE_MODE_KINEMATIC \ - and _pickable.collision_mask == 0 \ - and _pickable.enabled == want_enabled: - return - if NetworkManager.is_online(): - print("%s: freezing (non-authority, owner=peer %d)" % [_pickable.name, net_held_by]) - _pickable.freeze = true - _pickable.freeze_mode = RigidBody3D.FREEZE_MODE_KINEMATIC - _pickable.collision_mask = 0 - _pickable.enabled = want_enabled - - -## Local hand grab (not a station snap zone, which is server-only): request -## authority immediately so the throw/drop can be reconciled, but let the grab -## happen instantly here rather than waiting on the round trip. -func _on_picked_up(_p) -> void: - var by := _pickable.get_picked_up_by() - if not (by is XRToolsFunctionPickup): - # e.g. a station snap zone grabbed it (server-side auto-snap, or the - # addon's own "grab out of a snap zone" shortcut mid-cascade) — not a - # player-initiated hand grab, so no authority request from here. - if NetworkManager.is_online(): - print("%s picked up by %s (not a hand) — no authority request" % [_pickable.name, _holder_desc()]) - return - if NetworkManager.is_online(): - print("%s grabbed by hand (authority was peer %d), requesting authority" % [_pickable.name, net_held_by]) - NetworkManager.request_item_authority_from(_pickable.get_path()) - - -func _on_dropped(_p) -> void: - # Only forward if we're actually still the authority — a drop caused by - # apply_held_state() losing authority (see above) must not re-report. - if not is_multiplayer_authority(): - if NetworkManager.is_online(): - print("%s dropped locally, but we aren't its authority (peer %d is) — not reporting" % [_pickable.name, net_held_by]) - return - if NetworkManager.is_online(): - print("%s dropped, reporting release to server (lin=%s ang=%s)" % [ - _pickable.name, _pickable.linear_velocity, _pickable.angular_velocity - ]) - # Send our own final transform too: we were the authority until now, and the - # server's copy may not have received our last position sync yet. - NetworkManager.release_item_authority_from( - _pickable.get_path(), _pickable.linear_velocity, _pickable.angular_velocity, - _pickable.global_transform - ) - - -## Human-readable description of what's currently holding this item on THIS -## peer, for diagnosing desyncs between a hand's own "what am I holding" -## bookkeeping and the item's actual grab state (see the snap-zone-grab race -## in NetworkManager._try_snap_into_station for a real example). -func _holder_desc() -> String: - if not _pickable or not _pickable.is_picked_up(): - return "loose" - var by := _pickable.get_picked_up_by() - if not by: - return "held(no grabber?)" - if by is XRToolsFunctionPickup: - return "hand(%s)" % by.get_path() - if by is XRToolsSnapZone: - var station := by.get_parent() - return "zone(%s)" % (station.name if station else str(by.get_path())) - return "other(%s: %s)" % [by.get_class(), by.get_path()] +# +### Networked sync component for a pickable item. Added as a child literally +### named "NetPickable" (network_manager.gd's authority RPCs already expect +### this) of every net-synced pickable, replicating its transform and held +### state. Only the current multiplayer authority (the server while loose, or +### whichever peer is holding it) actually simulates physics for the item; +### every other peer freezes their local copy and just follows the synced +### transform. +# +### 0 = loose/server-simulated; otherwise the peer id currently holding it. +### Replicated at spawn and on change so a late joiner sees the current holder. +#var net_held_by: int = 0: set = _set_net_held_by +# +#var _pickable: XRToolsPickable +# +## This item's own baked freeze_mode (e.g. plate.tscn bakes KINEMATIC, not the +## RigidBody3D default of STATIC) — captured once so it can be restored when +## this peer regains ownership, instead of getting stuck on whatever +## apply_held_state() last forced it to while non-authority. +#var _original_freeze_mode: int +# +## Same idea for the pickable's authored `enabled` flag, which the non-authority +## branch of apply_held_state() clears while someone else is holding the item. +#var _original_enabled: bool +# +## Whether the "our own hand still holds this" guard has already been logged for +## the current grab. apply_held_state() runs every network tick, so without this +## the guard message repeats for as long as you hold the item. +#var _grab_race_logged := false +# +# +#func _ready() -> void: + #_pickable = get_parent() as XRToolsPickable + #if not _pickable: + #push_error("NetPickable must be a child of an XRToolsPickable") + #return + #_original_freeze_mode = _pickable.freeze_mode + #_original_enabled = _pickable.enabled + #_pickable.picked_up.connect(_on_picked_up) + #_pickable.dropped.connect(_on_dropped) + ## Deferred: the pickable root captures its own original_collision_mask/ + ## original_collision_layer via @onready, which runs AFTER this child's + ## _ready() but BEFORE the root's _ready() body. Calling apply_held_state + ## synchronously here would freeze/mask the item before that capture runs, + ## permanently corrupting the "restore on drop" values. + #apply_held_state.call_deferred() +# +# +#func _set_net_held_by(value: int) -> void: + #var old := net_held_by + #net_held_by = value + #if old != value and NetworkManager.is_online(): + #print("%s net_held_by: %d -> %d (local state: %s, authority=%d)" % [ + #_pickable.name, old, value, _holder_desc(), get_multiplayer_authority() + #]) + #apply_held_state() +# +# +### Puts the item in the right physics state for whether this peer currently +### owns it. Called locally after net_held_by changes, and directly by +### NetworkManager._set_item_authority right after an authority handoff. +### +### IMPORTANT: this runs on every network tick, not just on a real change. +### net_held_by is replicated in ALWAYS mode, so the synchronizer assigns it every +### tick on non-authority peers — unchanged value included — and that assignment +### lands in _set_net_held_by(), which calls this. So every branch here has to be +### idempotent and silent when there is nothing to do: otherwise each item logs a +### line and rewrites four physics properties every tick on every peer that +### doesn't own it. +#func apply_held_state() -> void: + #if not _pickable: + #return + #if not NetworkManager.is_online() or is_multiplayer_authority(): + #_grab_race_logged = false + ## We own this item's simulation (offline, loose+server, or currently + ## holding it). If it's not actively in our own hand right now, make + ## sure it isn't still left frozen/collision-less from a previous + ## non-authority period (e.g. right after regaining authority when a + ## client released it) — while actually held, XRToolsPickable's own + ## pick_up()/let_go() already manage these fields, so leave those be. + #if not _pickable.is_picked_up(): + #var changed := _pickable.freeze_mode != _original_freeze_mode \ + #or _pickable.collision_mask != _pickable.original_collision_mask + #if changed: + #if NetworkManager.is_online(): + #print( + #"%s: reclaiming ownership, restoring freeze_mode %d->%d collision_mask %d->%d" % [ + #_pickable.name, _pickable.freeze_mode, _original_freeze_mode, + #_pickable.collision_mask, _pickable.original_collision_mask + #] + #) + #_pickable.freeze_mode = _original_freeze_mode + #_pickable.collision_mask = _pickable.original_collision_mask + ## Unlike freeze/collision (which XRToolsPickable manages itself while + ## held), `enabled` is only ever written by the non-authority branch + ## below, so it must be restored here or it stays false forever: once a + ## client grabbed this item, every other peer set enabled=false, and + ## regaining authority left it that way. On the server that silently + ## broke everything downstream — hands couldn't pick the item up again, + ## and a station snap zone would "snap" it (emitting has_picked_up, so + ## e.g. a plate still got marked dirty) while pick_up() bailed out on + ## the disabled item, leaving the zone holding an item with no grab + ## driver that then fell out of the station. + #if _pickable.enabled != _original_enabled: + #if NetworkManager.is_online(): + #print("%s: reclaiming ownership, restoring enabled %s->%s" % [ + #_pickable.name, _pickable.enabled, _original_enabled + #]) + #_pickable.enabled = _original_enabled + #return + ## A net_held_by/position sync update can race ahead of the + ## authority-handoff RPC that's about to confirm a grab we just made + ## optimistically (they travel on different channels with no ordering + ## guarantee). Don't let a stale sync value yank an item out of our own + ## hand mid-grab — only an explicit force_release_item rejection, or + ## actually losing authority for real, should end a grab we initiated. + #if _pickable.is_picked_up() and _pickable.get_picked_up_by() is XRToolsFunctionPickup: + ## Log once per grab, not once per tick. + #if NetworkManager.is_online() and not _grab_race_logged: + #_grab_race_logged = true + #print( + #"%s: ignoring non-authority sync (net_held_by=%d) — still actively held by our own hand (grab-race guard)" % [ + #_pickable.name, net_held_by + #] + #) + #return + #_grab_race_logged = false + ## Someone else owns it: stop simulating locally, just follow the sync. + #if _pickable.is_picked_up(): + #if NetworkManager.is_online(): + #print( + #"%s: was held by %s on this peer, but authority now says peer %d owns it — force-dropping" % [ + #_pickable.name, _holder_desc(), net_held_by + #] + #) + #_pickable.drop() + ## Bail out when we're already in the follow-the-sync state. Without this the + ## writes below (and the line logged with them) repeated every tick for every + ## item on every non-authority peer — 90% of the log, plus four redundant + ## physics-property writes per item per tick. The comparison also means we + ## still re-apply if something else perturbs the state (e.g. let_go() + ## restoring the collision mask after a force-drop). + #var want_enabled := (net_held_by == 0) + #if _pickable.freeze \ + #and _pickable.freeze_mode == RigidBody3D.FREEZE_MODE_KINEMATIC \ + #and _pickable.collision_mask == 0 \ + #and _pickable.enabled == want_enabled: + #return + #if NetworkManager.is_online(): + #print("%s: freezing (non-authority, owner=peer %d)" % [_pickable.name, net_held_by]) + #_pickable.freeze = true + #_pickable.freeze_mode = RigidBody3D.FREEZE_MODE_KINEMATIC + #_pickable.collision_mask = 0 + #_pickable.enabled = want_enabled +# +# +### Local hand grab (not a station snap zone, which is server-only): request +### authority immediately so the throw/drop can be reconciled, but let the grab +### happen instantly here rather than waiting on the round trip. +#func _on_picked_up(_p) -> void: + #var by := _pickable.get_picked_up_by() + #if not (by is XRToolsFunctionPickup): + ## e.g. a station snap zone grabbed it (server-side auto-snap, or the + ## addon's own "grab out of a snap zone" shortcut mid-cascade) — not a + ## player-initiated hand grab, so no authority request from here. + #if NetworkManager.is_online(): + #print("%s picked up by %s (not a hand) — no authority request" % [_pickable.name, _holder_desc()]) + #return + #if NetworkManager.is_online(): + #print("%s grabbed by hand (authority was peer %d), requesting authority" % [_pickable.name, net_held_by]) + #NetworkManager.request_item_authority_from(_pickable.get_path()) +# +# +#func _on_dropped(_p) -> void: + ## Only forward if we're actually still the authority — a drop caused by + ## apply_held_state() losing authority (see above) must not re-report. + #if not is_multiplayer_authority(): + #if NetworkManager.is_online(): + #print("%s dropped locally, but we aren't its authority (peer %d is) — not reporting" % [_pickable.name, net_held_by]) + #return + #if NetworkManager.is_online(): + #print("%s dropped, reporting release to server (lin=%s ang=%s)" % [ + #_pickable.name, _pickable.linear_velocity, _pickable.angular_velocity + #]) + ## Send our own final transform too: we were the authority until now, and the + ## server's copy may not have received our last position sync yet. + #NetworkManager.release_item_authority_from( + #_pickable.get_path(), _pickable.linear_velocity, _pickable.angular_velocity, + #_pickable.global_transform + #) +# +# +### Human-readable description of what's currently holding this item on THIS +### peer, for diagnosing desyncs between a hand's own "what am I holding" +### bookkeeping and the item's actual grab state (see the snap-zone-grab race +### in NetworkManager._try_snap_into_station for a real example). +#func _holder_desc() -> String: + #if not _pickable or not _pickable.is_picked_up(): + #return "loose" + #var by := _pickable.get_picked_up_by() + #if not by: + #return "held(no grabber?)" + #if by is XRToolsFunctionPickup: + #return "hand(%s)" % by.get_path() + #if by is XRToolsSnapZone: + #var station := by.get_parent() + #return "zone(%s)" % (station.name if station else str(by.get_path())) + #return "other(%s: %s)" % [by.get_class(), by.get_path()] diff --git a/Net/world_layout.gd b/Net/world_layout.gd deleted file mode 100644 index 72ee21e..0000000 --- a/Net/world_layout.gd +++ /dev/null @@ -1,155 +0,0 @@ -extends Node -class_name WorldLayout - -## Data-driven description of what's in the multiplayer world. The server (or -## the single machine, when offline) spawns every entry through -## NetworkManager.spawn_item() instead of baking these into the scene file, so -## a joining client receives them from the server rather than assuming its own -## copy of the scene matches. Swapping the contents of these two functions is -## the only change needed for a future varying/procedural layout. -## -## Positions below are transcribed verbatim from the previous baked layout in -## Scenes/multiPlayer.tscn so the starting world is unchanged. - - -func get_node_data(node): - # {"scene": "res://Stations/Hob.tscn", "name": "Hob", - # "xform": Transform3D(Basis(), Vector3(0.29336345, 0.8981018, -1.484)), "props": {}}, - var data = {} - data["scene"] = node.scene_file_path - data["name"] = node.name - # global, not local: the copies are respawned under WorldContent, so an - # authored node that was nested inside another (JonScene parents Counter5 - # under Counter3) would otherwise land in the wrong place. - data["xform"] = node.global_transform - data["props"] = {} - var scrip = node.get_script() - if scrip: - for i in scrip.get_script_property_list(): - # Only authored configuration — i.e. @export vars, which are the ones - # the editor exposes. Plain script variables are live runtime state: - # copying those and replaying them into a fresh instance re-runs their - # setters before the node is in the tree, so any setter touching an - # @onready reference blows up (Table's _state calls into its progress - # bar, which is still null at that point). - if not (i.usage & PROPERTY_USAGE_EDITOR): - continue - if str(i["name"]).begins_with("_"): - continue - data["props"][i["name"]] = node.get(i["name"]) - return data - - -## The authored station nodes sitting in the current scene: anything instanced -## from res://Stations/. Exposed as nodes (not just data) because every peer has -## to remove these originals — the server replaces them with replicated copies, -## and a client that kept its own would end up showing two of everything. -func get_station_nodes() -> Array[Node]: - return _authored_nodes("res://Stations/", "StaticBody3D") - - -## Likewise for authored items. Containers/ counts as items too — plates and -## trays are things the player carries, and a client that never received one -## would have an incomplete world. -func get_item_nodes() -> Array[Node]: - var found := _authored_nodes("res://Items/", "XRToolsPickable") - found.append_array(_authored_nodes("res://Containers/", "XRToolsPickable")) - return found - - -func _authored_nodes(dir: String, type: String) -> Array[Node]: - var scenes := [] - for file in ResourceLoader.list_directory(dir): - scenes.append(dir + file) - var found: Array[Node] = [] - for node in get_tree().root.find_children("*", type, true, false): - if node.scene_file_path in scenes and not found.has(node): - found.append(node) - return found - - -func get_stations() -> Array[Dictionary]: - var data: Array[Dictionary] = [] - for node in get_station_nodes(): - data.append(get_node_data(node)) - return data - - -func get_items() -> Array[Dictionary]: - var data: Array[Dictionary] = [] - for node in get_item_nodes(): - data.append(get_node_data(node)) - return data - - - - -static func get_stations_old() -> Array[Dictionary]: - return [ - {"scene": "res://Stations/Hob.tscn", "name": "Hob", - "xform": Transform3D(Basis(), Vector3(0.29336345, 0.8981018, -1.484)), "props": {}}, - {"scene": "res://Stations/BurgerBunsDispenser.tscn", "name": "BurgerBunsDispenser", - "xform": Transform3D(Basis(), Vector3(-1.832131, 0.40028095, -1.4813508)), "props": {}}, - {"scene": "res://Stations/sink.tscn", "name": "Sink", - "xform": Transform3D(Basis(), Vector3(1.3140475, 0.9061539, -1.4941733)), "props": {}}, - {"scene": "res://Stations/dirt_station.tscn", "name": "DirtStation", - "xform": Transform3D(Basis(), Vector3(2.0864775, 0.8981018, -1.244947)), "props": {}}, - {"scene": "res://Stations/Counter.tscn", "name": "Counter", - "xform": Transform3D(Basis(), Vector3(-0.7124918, 0.90304357, -1.4886917)), "props": {}}, - {"scene": "res://Stations/Counter.tscn", "name": "Counter2", - "xform": Transform3D(Vector3(-4.371139e-08, 0.0, 1.0), Vector3(0.0, 1.0, 0.0), Vector3(-1.0, 0.0, -4.371139e-08), Vector3(-1.7648025, 0.90304357, -0.4458799)), "props": {}}, - {"scene": "res://Stations/Counter.tscn", "name": "Counter3", - "xform": Transform3D(Vector3(-4.371139e-08, 0.0, 1.0), Vector3(0.0, 1.0, 0.0), Vector3(-1.0, 0.0, -4.371139e-08), Vector3(-1.7648025, 0.90304357, 0.55367994)), "props": {}}, - {"scene": "res://Stations/Counter.tscn", "name": "Counter4", - "xform": Transform3D(Vector3(-4.371139e-08, 0.0, 1.0), Vector3(0.0, 1.0, 0.0), Vector3(-1.0, 0.0, -4.371139e-08), Vector3(-1.7648025, 0.90304357, 1.5539298)), "props": {}}, - {"scene": "res://Stations/table.tscn", "name": "Table", - "xform": Transform3D(Basis(), Vector3(1.633146, 0.9030438, 1.1343781)), - "props": { - "initial_thinking_time": 8.0, - "initial_primary_time": 40.0, - "initial_friend_time": 3.0, - "initial_eating_time": 3.0, - }}, - ] - - -static func get_items_old() -> Array[Dictionary]: - var items: Array[Dictionary] = [] - - items.append(_item("res://Items/BurgerBuns.tscn", "BurgerBuns", Vector3(-1.8162017, 1.6081157, -1.4714175))) - items.append(_item("res://Items/BurgerBuns.tscn", "BurgerBuns2", Vector3(-1.3596323, 1.4110342, -0.22482127))) - - items.append(_item("res://Containers/plate.tscn", "Plate", Vector3(-1.5717233, 1.5454081, 1.5373346))) - items.append(_item("res://Containers/plate.tscn", "Plate2", Vector3(-1.5730225, 1.499024, 0.59790254))) - items.append(_item("res://Containers/plate.tscn", "Plate3", Vector3(-1.5818124, 1.499024, -0.4634577))) - - items.append(_item("res://Items/burger.tscn", "burger", Vector3(0.6888188, 1.4195822, -1.7110313))) - items.append(_item("res://Items/burger.tscn", "burger2", Vector3(0.6931299, 1.5300478, -1.71225))) - items.append(_item("res://Items/burger.tscn", "burger3", Vector3(0.69027674, 1.4969791, -1.7210286))) - items.append(_item("res://Items/burger.tscn", "burger4", Vector3(0.69134104, 1.4543622, -1.7210286))) - - items.append(_item("res://Items/hamburger.tscn", "Hamburger", Vector3(-1.9352558, 1.623975, 1.2447833))) - items.append(_item("res://Items/hamburger.tscn", "Hamburger2", Vector3(-1.9857153, 1.5329368, 0.9472374))) - items.append(_item("res://Items/hamburger.tscn", "Hamburger3", Vector3(-1.7201865, 1.5329367, 0.14773655))) - - items.append(_item("res://Items/cooked_burger.tscn", "CookedBurger", Vector3(-0.30671906, 1.4131018, -1.0928738))) - items.append(_item("res://Items/cooked_burger.tscn", "CookedBurger2", Vector3(-0.30671906, 1.4496142, -1.0928738))) - items.append(_item("res://Items/cooked_burger.tscn", "CookedBurger3", Vector3(-1.3344773, 1.4398065, -0.7096845))) - items.append(_item("res://Items/cooked_burger.tscn", "CookedBurger4", Vector3(-0.30671906, 1.525444, -1.0928738))) - - items.append(_item("res://Items/PickupCube.tscn", "PickableObject", Vector3(0.6225724, 1.4792972, -1.0473135))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject2", Vector3(0.6359743, 1.4639391, -1.1673055))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject3", Vector3(0.5142721, 1.4792972, -1.0473135))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject4", Vector3(0.5276739, 1.4639391, -1.1673055))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject5", Vector3(0.73287535, 1.4792972, -1.0473135))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject6", Vector3(0.7462772, 1.4639391, -1.1673055))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject7", Vector3(-1.3556751, 1.4792972, 0.28881657))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject8", Vector3(-1.3422732, 1.4639391, 0.16882455))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject9", Vector3(-1.4639754, 1.4792972, 0.28881657))) - items.append(_item("res://Items/PickupCube.tscn", "PickableObject10", Vector3(-1.4505737, 1.4639391, 0.16882455))) - - return items - - -static func _item(scene: String, name: String, pos: Vector3) -> Dictionary: - return {"scene": scene, "name": name, "xform": Transform3D(Basis(), pos), "props": {}} diff --git a/Net/world_layout.gd.uid b/Net/world_layout.gd.uid deleted file mode 100644 index c7c973a..0000000 --- a/Net/world_layout.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://donvkica3drtx diff --git a/Player/net_player.tscn b/Player/net_player.tscn index 1913654..ba11f13 100644 --- a/Player/net_player.tscn +++ b/Player/net_player.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=5 format=3] +[gd_scene format=3] -[ext_resource type="Script" path="res://Player/net_player.gd" id="1_np001"] +[ext_resource type="Script" uid="uid://bncuxh7j7ix5q" path="res://player/net_player.gd" id="1_np001"] [ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="2_np002"] [ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="3_np003"] diff --git a/Prefabs/combinable_item.gd b/Prefabs/combinable_item.gd index 5bbefbd..aae68c8 100644 --- a/Prefabs/combinable_item.gd +++ b/Prefabs/combinable_item.gd @@ -1,7 +1,7 @@ class_name CombinableItem extends Node -const RECIPE_MANAGER = preload("res://RecipeManager.gd") +const RECIPE_MANAGER = preload("res://scripts/recipe_Manager.gd") @onready var combine_area_3d: Area3D = $Area3d @onready var _pickable: XRToolsPickable = get_parent() as XRToolsPickable @@ -51,8 +51,8 @@ func _on_item_dropped(_item: Node3D) -> void: # If the other body is a FoodItem, check for a recipe and combine if one exists. # Combining is a server decision (the base item is server-snapped into a zone). func _on_body_entered(body: Node3D) -> void: - if not NetworkManager.owns_world(): - return + # if not NetworkManager.owns_world(): + # return if _combining or body == _pickable: print("CombinableItem _on_body_entered: other is our own pickable") return @@ -81,13 +81,16 @@ func _combine(other_body: Node3D, result: PackedScene) -> void: # Spawn the result through the server (so it replicates to every peer, # including late joiners) at the base item's location, in world space. var base_transform := _pickable.global_transform - var result_instance: Node3D = NetworkManager.spawn_item(result.resource_path, base_transform) - + #var result_instance: Node3D = NetworkManager.spawn_item(result.resource_path, base_transform) + var result_instance: Node3D = result.instantiate() + get_tree().root.add_child(result_instance) + result_instance.transform = base_transform + # Free the pickable / root of this item and consume the incoming item. snap_zone.drop_object() - NetworkManager.despawn_item(_pickable) + _pickable.queue_free() other_body.drop() - NetworkManager.despawn_item(other_body) + other_body.queue_free() # Snap the result into the now-empty zone. snap_zone.pick_up_object(result_instance) diff --git a/Prefabs/combinable_item.tscn b/Prefabs/combinable_item.tscn index 2d44d93..ec7dbd4 100644 --- a/Prefabs/combinable_item.tscn +++ b/Prefabs/combinable_item.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://3lr2dhy62rhk"] -[ext_resource type="Script" uid="uid://dounic663dn5q" path="res://Prefabs/combinable_item.gd" id="1_q21ti"] +[ext_resource type="Script" uid="uid://dounic663dn5q" path="res://prefabs/combinable_item.gd" id="1_q21ti"] [sub_resource type="SphereShape3D" id="SphereShape3D_o1b3t"] radius = 0.2 diff --git a/Prefabs/combine_recipe.gd b/Prefabs/combine_recipe.gd deleted file mode 100644 index e7c10ab..0000000 --- a/Prefabs/combine_recipe.gd +++ /dev/null @@ -1,8 +0,0 @@ -class_name CombineRecipe -extends Resource - -## The [CombinableItem.id] of the item that must be combined into the base item. -@export var ingredient_id: StringName - -## The scene the base item turns into when [member ingredient_id] is combined in. -@export var result: PackedScene diff --git a/Prefabs/combine_recipe.gd.uid b/Prefabs/combine_recipe.gd.uid deleted file mode 100644 index cf3bd5e..0000000 --- a/Prefabs/combine_recipe.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://coidnv8b2yvxr diff --git a/Prefabs/cookable_item.gd b/Prefabs/cookable_item.gd deleted file mode 100644 index 7109e8b..0000000 --- a/Prefabs/cookable_item.gd +++ /dev/null @@ -1,9 +0,0 @@ -class_name CookableItem -extends Node - -@export_range(0.0, 30.0, 0.5, "or_greater", "suffix:s") var cooking_time: float = 4.0 -@export var turns_into: PackedScene - -func _ready() -> void: - if not turns_into: - push_error("Cooking Error: 'turns_into' PackedScene is missing on ", name, ". Please assign a scene in the Inspector.") diff --git a/Prefabs/cookable_item.gd.uid b/Prefabs/cookable_item.gd.uid deleted file mode 100644 index dc2f71d..0000000 --- a/Prefabs/cookable_item.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bs7cxydoxk1cx diff --git a/Prefabs/cookable_item.tscn b/Prefabs/cookable_item.tscn deleted file mode 100644 index 109e231..0000000 --- a/Prefabs/cookable_item.tscn +++ /dev/null @@ -1,9 +0,0 @@ -[gd_scene format=3 uid="uid://7earnjgdmwgx"] - -[ext_resource type="Script" uid="uid://bs7cxydoxk1cx" path="res://Prefabs/cookable_item.gd" id="1_6hwx6"] -[ext_resource type="PackedScene" uid="uid://cucc3gaqu2nab" path="res://Items/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/Prefabs/despawning_item.gd b/Prefabs/despawning_item.gd index c24100c..12555f7 100644 --- a/Prefabs/despawning_item.gd +++ b/Prefabs/despawning_item.gd @@ -28,8 +28,8 @@ func _process(delta: float) -> void: # them and the blink below toggled `visible` locally, so the same item was # shown on one peer and hidden on the other. Non-owners just follow the # server, which removes the item for everyone when its time is up. - if not NetworkManager.owns_world(): - return + # if not NetworkManager.owns_world(): + # return # if we're held or moving, reset timer and return if _pickable.get_picked_up_by() or _rigid.linear_velocity.length_squared() > pow(minimum_speed_square,2): @@ -42,7 +42,7 @@ func _process(delta: float) -> void: _time_left -= delta if _time_left <= 0: print("DespawningItem despawning!" , get_parent()) - NetworkManager.despawn_item(get_parent()) + get_parent().queue_free() # Stop counting: despawn_item() only queues the free, so without this we # keep re-reporting the same item every frame until it actually goes. set_process(false) @@ -56,8 +56,8 @@ func _process(delta: float) -> void: # `visible` is not a replicated property, so a blink driven only here would make # the item flicker on the host and stay solid on clients. Until it is synced, # only warn when there is nobody else to disagree with. -func _set_visible(value: bool) -> void: - if NetworkManager.is_online(): +func _set_visible(value: bool) -> void: # TODO: Fix blinking + if true:# NetworkManager.is_online(): get_parent().visible = true return get_parent().visible = value diff --git a/Prefabs/despawning_item.tscn b/Prefabs/despawning_item.tscn index db144d0..e32a07e 100644 --- a/Prefabs/despawning_item.tscn +++ b/Prefabs/despawning_item.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://b5ukku8i0hilb"] -[ext_resource type="Script" uid="uid://deyna316ka4xs" path="res://Prefabs/despawning_item.gd" id="1_ayqk8"] +[ext_resource type="Script" uid="uid://deyna316ka4xs" path="res://prefabs/despawning_item.gd" id="1_ayqk8"] [node name="DespawningItem" type="Node" unique_id=303090111] script = ExtResource("1_ayqk8") diff --git a/Prefabs/food_item.tscn b/Prefabs/food_item.tscn index 09a8a42..d7515b9 100644 --- a/Prefabs/food_item.tscn +++ b/Prefabs/food_item.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://bfj80jh13t6e5"] -[ext_resource type="Script" uid="uid://5tpoohkopryv" path="res://Prefabs/food_item.gd" id="1_0na5k"] +[ext_resource type="Script" uid="uid://5tpoohkopryv" path="res://prefabs/food_item.gd" id="1_0na5k"] [node name="FoodItem" type="Node" unique_id=63948206] script = ExtResource("1_0na5k") diff --git a/Scenes/GameOvercontroler.gd b/Prefabs/game_over_controler.gd similarity index 100% rename from Scenes/GameOvercontroler.gd rename to Prefabs/game_over_controler.gd diff --git a/Scenes/GameOvercontroler.gd.uid b/Prefabs/game_over_controler.gd.uid similarity index 100% rename from Scenes/GameOvercontroler.gd.uid rename to Prefabs/game_over_controler.gd.uid diff --git a/XROrigin.tscn b/Prefabs/xr_origin.tscn similarity index 93% rename from XROrigin.tscn rename to Prefabs/xr_origin.tscn index 6d22471..0790e7a 100644 --- a/XROrigin.tscn +++ b/Prefabs/xr_origin.tscn @@ -11,8 +11,10 @@ [node name="XROrigin3D" type="XROrigin3D" unique_id=2055526621] [node name="XRCamera3D" type="XRCamera3D" parent="." unique_id=983614103] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0) [node name="XRControllerLeftHand" type="XRController3D" parent="." unique_id=1171100950] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.30486506, 1.057469, 0) tracker = &"left_hand" [node name="LeftHand" parent="XRControllerLeftHand" unique_id=1805508372 instance=ExtResource("1_jr1t4")] @@ -30,6 +32,7 @@ show_laser = 2 show_target = true [node name="XRControllerRightHand" type="XRController3D" parent="." unique_id=202756852] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2788871, 1.048965, 0) tracker = &"right_hand" [node name="RightHand" parent="XRControllerRightHand" unique_id=1112462503 instance=ExtResource("2_gshht")] diff --git a/RecipeManager.gd.uid b/RecipeManager.gd.uid deleted file mode 100644 index 46c9d6e..0000000 --- a/RecipeManager.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cuo88u56uqwuy diff --git a/RecipeManager.md b/RecipeManager.md index 87c7631..c88f417 100644 --- a/RecipeManager.md +++ b/RecipeManager.md @@ -25,18 +25,18 @@ Example structure: ```yaml items: hamburger: - scene: res://Items/hamburger.tscn - type: meal + scene: res://Items/hamburger.tscn + type: meal burger_buns: - scene: res://Items/BurgerBuns.tscn - type: ingredient + scene: res://Items/BurgerBuns.tscn + type: ingredient combining: hamburger: - - [cooked_burger, burger_buns] - - [charcoal, charcoal] + - [cooked_burger, burger_buns] + - [charcoal, charcoal] charcoal: - - [cube, cube] + - [cube, cube] ``` ### `items` diff --git a/Scenes/AlgoScene.tscn b/Scenes/algo_scene.tscn similarity index 90% rename from Scenes/AlgoScene.tscn rename to Scenes/algo_scene.tscn index 3f65ef7..40c5767 100644 --- a/Scenes/AlgoScene.tscn +++ b/Scenes/algo_scene.tscn @@ -1,22 +1,22 @@ [gd_scene format=3 uid="uid://22shbqdvnwgo"] -[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://main.gd" id="1_m3h4l"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_8pfaf"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="3_gatbn"] -[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://Stations/Hob.tscn" id="4_3lufs"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="5_kh26v"] -[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://Stations/BurgerBunsDispenser.tscn" id="7_tejmp"] -[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://Items/burger.tscn" id="9_rwx83"] -[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://Stations/sink.tscn" id="12_ah4xa"] -[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://Stations/dirt_station.tscn" id="13_46xi2"] -[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://Stations/plate_dispenser.tscn" id="14_h88sx"] -[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://Stations/raw_burger_dispenser.tscn" id="15_m3h4l"] -[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://Stations/Counter.tscn" id="15_tpcje"] -[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://Stations/table.tscn" id="16_g2k6a"] -[ext_resource type="Script" uid="uid://k8ywnvlhcic4" path="res://Scenes/testworldLoad.gd" id="16_m3h4l"] +[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_m3h4l"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="2_8pfaf"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="3_gatbn"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="4_3lufs"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="5_kh26v"] +[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="7_tejmp"] +[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://items/burger.tscn" id="9_rwx83"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="12_ah4xa"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="13_46xi2"] +[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="14_h88sx"] +[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="15_m3h4l"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="15_tpcje"] +[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="16_g2k6a"] +[ext_resource type="Script" uid="uid://k8ywnvlhcic4" path="res://test/testworld_load.gd" id="16_m3h4l"] [ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="17_gatbn"] -[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://UI/game_over_panel.tscn" id="18_3lufs"] -[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://Scenes/GameOvercontroler.gd" id="19_3lufs"] +[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="18_3lufs"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/game_over_controler.gd" id="19_3lufs"] [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] size = Vector3(16, 0.1, 16) diff --git a/Scenes/JonScene.tscn b/Scenes/jon_scene.tscn similarity index 63% rename from Scenes/JonScene.tscn rename to Scenes/jon_scene.tscn index a051e19..6085fa7 100644 --- a/Scenes/JonScene.tscn +++ b/Scenes/jon_scene.tscn @@ -1,26 +1,25 @@ [gd_scene format=3 uid="uid://do6mrslyqe5qe"] -[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Scenes/multiplayer_world.gd" id="1_57ppd"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_o1b3t"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="3_irf4n"] -[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://Stations/Hob.tscn" id="4_ctden"] -[ext_resource type="Script" uid="uid://ctsqvhicswj8m" path="res://Scenes/add_spawnables.gd" id="5_n8fyw"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="7_n8fyw"] -[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://Stations/BurgerBunsDispenser.tscn" id="9_sq0s2"] -[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://Stations/raw_burger_dispenser.tscn" id="11_ctden"] -[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://Scenes/cube_side_dispense.tscn" id="12_57ppd"] -[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://Stations/plate_dispenser.tscn" id="13_irf4n"] -[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://Stations/sink.tscn" id="13_o1b3t"] -[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="14_di04w"] -[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://Stations/dirt_station.tscn" id="14_irf4n"] -[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://Stations/Counter.tscn" id="15_di04w"] -[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://UI/game_over_panel.tscn" id="15_eoxxy"] -[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://Stations/table.tscn" id="16_di04w"] -[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://Scenes/GameOvercontroler.gd" id="16_n8fyw"] +[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_6gspb"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_6gspb"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="3_8n1fs"] +[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="4_6gspb"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/game_over_controler.gd" id="5_qmys3"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="6_b4aof"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="7_mdqee"] +[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="8_wl1ox"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="9_wrlv7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="10_dwulx"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="11_e8c1b"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="12_cm8ly"] +[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="13_0sfn4"] +[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="14_d0yvd"] +[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="15_evyxv"] +[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://stations/cube_side_dispense.tscn" id="16_kktuy"] [sub_resource type="Environment" id="Environment_bvwq1"] background_mode = 2 -sky = ExtResource("7_n8fyw") +sky = ExtResource("2_6gspb") ambient_light_source = 3 ambient_light_color = Color(1, 1, 1, 1) ambient_light_sky_contribution = 0.9 @@ -34,34 +33,34 @@ sdfgi_enabled = true size = Vector3(20, 0.1, 20) [sub_resource type="BoxMesh" id="BoxMesh_24d3s"] -material = ExtResource("3_irf4n") +material = ExtResource("7_mdqee") size = Vector3(20, 0.1, 20) [sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] size = Vector3(20, 10, 0.1) [node name="Main" type="Node3D" unique_id=1312265607] -script = ExtResource("1_57ppd") +script = ExtResource("1_6gspb") [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] environment = SubResource("Environment_bvwq1") -[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("2_o1b3t")] +[node name="GameOverPanel" parent="." unique_id=1234658657 instance=ExtResource("3_8n1fs")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -2.0281777, 2.8122003, 0) +scene = ExtResource("4_6gspb") +viewport_size = Vector2(900, 600) +transparent = 0 +filter = false +scene_properties_keys = PackedStringArray("game_over_panel.gd") + +[node name="controler" type="Node" parent="GameOverPanel" unique_id=803158176] +script = ExtResource("5_qmys3") + +[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("6_b4aof")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9667189, 0) [node name="WorldContent" type="Node3D" parent="." unique_id=262398468] -[node name="Players" type="Node3D" parent="." unique_id=1772076868] - -[node name="ItemsSpawner" type="MultiplayerSpawner" parent="." unique_id=2051771581] -_spawnable_scenes = PackedStringArray("uid://cwwnbx5uat3fw") -spawn_path = NodePath("../WorldContent") -script = ExtResource("5_n8fyw") - -[node name="PlayersSpawner" type="MultiplayerSpawner" parent="." unique_id=619815427] -_spawnable_scenes = PackedStringArray("res://Player/net_player.tscn") -spawn_path = NodePath("../Players") - [node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) @@ -93,56 +92,47 @@ shape = SubResource("BoxShape3D_24d3s") transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.934778, 4.297072, -0.018813023) shape = SubResource("BoxShape3D_24d3s") -[node name="Table" parent="." unique_id=1863572470 instance=ExtResource("16_di04w")] +[node name="Stations" type="Node3D" parent="." unique_id=1237237441] + +[node name="Table" parent="Stations" unique_id=1863572470 instance=ExtResource("8_wl1ox")] transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 3.6294794, 0.54177135, 0.0973109) primary_duration = 35.0 -[node name="Hob" parent="." unique_id=1687971542 instance=ExtResource("4_ctden")] +[node name="Hob" parent="Stations" unique_id=1687971542 instance=ExtResource("9_wrlv7")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.35077858, 0.50655985, -1.2833805) -[node name="Hob2" parent="." unique_id=717907738 instance=ExtResource("4_ctden")] +[node name="Hob2" parent="Stations" unique_id=717907738 instance=ExtResource("9_wrlv7")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.26079375, 0.50655985, -1.2833805) -[node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("13_o1b3t")] +[node name="Sink" parent="Stations" unique_id=2055277359 instance=ExtResource("10_dwulx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9064429, 0.51461196, -1.2828919) -[node name="DirtStation" parent="." unique_id=160842153 instance=ExtResource("14_irf4n")] +[node name="DirtStation" parent="Stations" unique_id=160842153 instance=ExtResource("11_e8c1b")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4574674, 0.50655985, -1.2598276) -[node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("15_di04w")] +[node name="Counter" parent="Stations" unique_id=1487893288 instance=ExtResource("12_cm8ly")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.94890714, 0.5115015, -1.3041471) -[node name="Counter2" parent="." unique_id=368890752 instance=ExtResource("15_di04w")] +[node name="Counter2" parent="Stations" unique_id=368890752 instance=ExtResource("12_cm8ly")] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.1103079) -[node name="Counter4" parent="." unique_id=1748373996 instance=ExtResource("15_di04w")] +[node name="Counter4" parent="Stations" unique_id=1748373996 instance=ExtResource("12_cm8ly")] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.70863545) -[node name="Counter3" parent="." unique_id=1498817646 instance=ExtResource("15_di04w")] +[node name="Counter3" parent="Stations" unique_id=1498817646 instance=ExtResource("12_cm8ly")] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, 0.49258912) -[node name="Counter5" parent="Counter3" unique_id=200341072 instance=ExtResource("15_di04w")] -transform = Transform3D(-1, 0, 4.371139e-08, 0, 1, 0, -4.371139e-08, 0, -1, -0.12681937, 2.3841858e-07, 3.538899) +[node name="Counter5" parent="Stations" unique_id=200341072 instance=ExtResource("12_cm8ly")] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.9911776, 0.51150185, 0.61940837) -[node name="BurgerBunsDispenser" parent="." unique_id=1720683779 instance=ExtResource("9_sq0s2")] +[node name="BurgerBunsDispenser" parent="Stations" unique_id=1720683779 instance=ExtResource("13_0sfn4")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5242664, 0.008738995, 1.1073059) -[node name="RawBurgerDispenser" parent="." unique_id=235630131 instance=ExtResource("11_ctden")] +[node name="RawBurgerDispenser" parent="Stations" unique_id=235630131 instance=ExtResource("14_d0yvd")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8896122, 0.008738995, 1.0872328) -[node name="PlateDispenser" parent="." unique_id=710538846 instance=ExtResource("13_irf4n")] +[node name="PlateDispenser" parent="Stations" unique_id=710538846 instance=ExtResource("15_evyxv")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.26631236, 0.008738995, 1.087036) -[node name="GameOverPanel" parent="." unique_id=1234658657 instance=ExtResource("14_di04w")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -2.0281777, 2.8122003, 0) -scene = ExtResource("15_eoxxy") -viewport_size = Vector2(900, 600) -transparent = 0 -filter = false -scene_properties_keys = PackedStringArray("game_over_panel.gd") - -[node name="controler" type="Node" parent="GameOverPanel" unique_id=803158176] -script = ExtResource("16_n8fyw") - -[node name="CubeSideDispenser2" parent="." unique_id=200950572 instance=ExtResource("12_57ppd")] +[node name="CubeSideDispenser2" parent="Stations" unique_id=200950572 instance=ExtResource("16_kktuy")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.35154933, 0, 1.1119425) diff --git a/Scenes/jon_scene.tscn1582472871.tmp b/Scenes/jon_scene.tscn1582472871.tmp new file mode 100644 index 0000000..286b6c9 --- /dev/null +++ b/Scenes/jon_scene.tscn1582472871.tmp @@ -0,0 +1,136 @@ +[gd_scene format=3 uid="uid://do6mrslyqe5qe"] + +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_6gspb"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="3_8n1fs"] +[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="4_6gspb"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/GameOvercontroler.gd" id="5_qmys3"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="6_b4aof"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="7_mdqee"] +[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="8_wl1ox"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="9_wrlv7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="10_dwulx"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="11_e8c1b"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="12_cm8ly"] +[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="13_0sfn4"] +[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="14_d0yvd"] +[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="15_evyxv"] +[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://stations/cube_side_dispense.tscn" id="16_kktuy"] + +[sub_resource type="Environment" id="Environment_bvwq1"] +background_mode = 2 +sky = ExtResource("2_6gspb") +ambient_light_source = 3 +ambient_light_color = Color(1, 1, 1, 1) +ambient_light_sky_contribution = 0.9 +reflected_light_source = 2 +ssr_enabled = true +ssao_enabled = true +ssil_enabled = true +sdfgi_enabled = true + +[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxMesh" id="BoxMesh_24d3s"] +material = ExtResource("7_mdqee") +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] +size = Vector3(20, 10, 0.1) + +[node name="Main" type="Node3D" unique_id=1312265607] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] +environment = SubResource("Environment_bvwq1") + +[node name="GameOverPanel" parent="." unique_id=1234658657 instance=ExtResource("3_8n1fs")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -2.0281777, 2.8122003, 0) +scene = ExtResource("4_6gspb") +viewport_size = Vector2(900, 600) +transparent = 0 +filter = false +scene_properties_keys = PackedStringArray("game_over_panel.gd") + +[node name="controler" type="Node" parent="GameOverPanel" unique_id=803158176] +script = ExtResource("5_qmys3") + +[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("6_b4aof")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9667189, 0) + +[node name="WorldContent" type="Node3D" parent="." unique_id=262398468] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] +transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) + +[node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor" unique_id=958841648] +shape = SubResource("BoxShape3D_vlqg6") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Floor/CollisionShape3D" unique_id=1939997056] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00018164515, 0.0006352663, -0.002532661) +mesh = SubResource("BoxMesh_24d3s") + +[node name="InvisibleWalls" type="StaticBody3D" parent="." unique_id=315740174] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="InvisibleWalls" unique_id=33059670] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, 8.838269) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="InvisibleWalls" unique_id=2018792171] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, -10.243342) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="InvisibleWalls" unique_id=757662929] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -9.807113, 4.688614, -0.018813243) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="InvisibleWalls" unique_id=1468386997] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.934778, 4.297072, -0.018813023) +shape = SubResource("BoxShape3D_24d3s") + +[node name="Stations" type="Node3D" parent="." unique_id=1237237441] + +[node name="Table" parent="Stations" unique_id=1863572470 instance=ExtResource("8_wl1ox")] +transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 3.6294794, 0.54177135, 0.0973109) +primary_duration = 35.0 + +[node name="Hob" parent="Stations" unique_id=1687971542 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.35077858, 0.50655985, -1.2833805) + +[node name="Hob2" parent="Stations" unique_id=717907738 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.26079375, 0.50655985, -1.2833805) + +[node name="Sink" parent="Stations" unique_id=2055277359 instance=ExtResource("10_dwulx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9064429, 0.51461196, -1.2828919) + +[node name="DirtStation" parent="Stations" unique_id=160842153 instance=ExtResource("11_e8c1b")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4574674, 0.50655985, -1.2598276) + +[node name="Counter" parent="Stations" unique_id=1487893288 instance=ExtResource("12_cm8ly")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.94890714, 0.5115015, -1.3041471) + +[node name="Counter2" parent="Stations" unique_id=368890752 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.1103079) + +[node name="Counter4" parent="Stations" unique_id=1748373996 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.70863545) + +[node name="Counter3" parent="Stations" unique_id=1498817646 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, 0.49258912) + +[node name="Counter5" parent="Stations" unique_id=200341072 instance=ExtResource("12_cm8ly")] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.9911776, 0.51150185, 0.61940837) + +[node name="BurgerBunsDispenser" parent="Stations" unique_id=1720683779 instance=ExtResource("13_0sfn4")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5242664, 0.008738995, 1.1073059) + +[node name="RawBurgerDispenser" parent="Stations" unique_id=235630131 instance=ExtResource("14_d0yvd")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8896122, 0.008738995, 1.0872328) + +[node name="PlateDispenser" parent="Stations" unique_id=710538846 instance=ExtResource("15_evyxv")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.26631236, 0.008738995, 1.087036) + +[node name="CubeSideDispenser2" parent="Stations" unique_id=200950572 instance=ExtResource("16_kktuy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.35154933, 0, 1.1119425) diff --git a/Scenes/jon_scene.tscn1615552537.tmp b/Scenes/jon_scene.tscn1615552537.tmp new file mode 100644 index 0000000..286b6c9 --- /dev/null +++ b/Scenes/jon_scene.tscn1615552537.tmp @@ -0,0 +1,136 @@ +[gd_scene format=3 uid="uid://do6mrslyqe5qe"] + +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_6gspb"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="3_8n1fs"] +[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="4_6gspb"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/GameOvercontroler.gd" id="5_qmys3"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="6_b4aof"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="7_mdqee"] +[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="8_wl1ox"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="9_wrlv7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="10_dwulx"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="11_e8c1b"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="12_cm8ly"] +[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="13_0sfn4"] +[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="14_d0yvd"] +[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="15_evyxv"] +[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://stations/cube_side_dispense.tscn" id="16_kktuy"] + +[sub_resource type="Environment" id="Environment_bvwq1"] +background_mode = 2 +sky = ExtResource("2_6gspb") +ambient_light_source = 3 +ambient_light_color = Color(1, 1, 1, 1) +ambient_light_sky_contribution = 0.9 +reflected_light_source = 2 +ssr_enabled = true +ssao_enabled = true +ssil_enabled = true +sdfgi_enabled = true + +[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxMesh" id="BoxMesh_24d3s"] +material = ExtResource("7_mdqee") +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] +size = Vector3(20, 10, 0.1) + +[node name="Main" type="Node3D" unique_id=1312265607] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] +environment = SubResource("Environment_bvwq1") + +[node name="GameOverPanel" parent="." unique_id=1234658657 instance=ExtResource("3_8n1fs")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -2.0281777, 2.8122003, 0) +scene = ExtResource("4_6gspb") +viewport_size = Vector2(900, 600) +transparent = 0 +filter = false +scene_properties_keys = PackedStringArray("game_over_panel.gd") + +[node name="controler" type="Node" parent="GameOverPanel" unique_id=803158176] +script = ExtResource("5_qmys3") + +[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("6_b4aof")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9667189, 0) + +[node name="WorldContent" type="Node3D" parent="." unique_id=262398468] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] +transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) + +[node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor" unique_id=958841648] +shape = SubResource("BoxShape3D_vlqg6") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Floor/CollisionShape3D" unique_id=1939997056] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00018164515, 0.0006352663, -0.002532661) +mesh = SubResource("BoxMesh_24d3s") + +[node name="InvisibleWalls" type="StaticBody3D" parent="." unique_id=315740174] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="InvisibleWalls" unique_id=33059670] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, 8.838269) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="InvisibleWalls" unique_id=2018792171] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, -10.243342) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="InvisibleWalls" unique_id=757662929] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -9.807113, 4.688614, -0.018813243) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="InvisibleWalls" unique_id=1468386997] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.934778, 4.297072, -0.018813023) +shape = SubResource("BoxShape3D_24d3s") + +[node name="Stations" type="Node3D" parent="." unique_id=1237237441] + +[node name="Table" parent="Stations" unique_id=1863572470 instance=ExtResource("8_wl1ox")] +transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 3.6294794, 0.54177135, 0.0973109) +primary_duration = 35.0 + +[node name="Hob" parent="Stations" unique_id=1687971542 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.35077858, 0.50655985, -1.2833805) + +[node name="Hob2" parent="Stations" unique_id=717907738 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.26079375, 0.50655985, -1.2833805) + +[node name="Sink" parent="Stations" unique_id=2055277359 instance=ExtResource("10_dwulx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9064429, 0.51461196, -1.2828919) + +[node name="DirtStation" parent="Stations" unique_id=160842153 instance=ExtResource("11_e8c1b")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4574674, 0.50655985, -1.2598276) + +[node name="Counter" parent="Stations" unique_id=1487893288 instance=ExtResource("12_cm8ly")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.94890714, 0.5115015, -1.3041471) + +[node name="Counter2" parent="Stations" unique_id=368890752 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.1103079) + +[node name="Counter4" parent="Stations" unique_id=1748373996 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.70863545) + +[node name="Counter3" parent="Stations" unique_id=1498817646 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, 0.49258912) + +[node name="Counter5" parent="Stations" unique_id=200341072 instance=ExtResource("12_cm8ly")] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.9911776, 0.51150185, 0.61940837) + +[node name="BurgerBunsDispenser" parent="Stations" unique_id=1720683779 instance=ExtResource("13_0sfn4")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5242664, 0.008738995, 1.1073059) + +[node name="RawBurgerDispenser" parent="Stations" unique_id=235630131 instance=ExtResource("14_d0yvd")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8896122, 0.008738995, 1.0872328) + +[node name="PlateDispenser" parent="Stations" unique_id=710538846 instance=ExtResource("15_evyxv")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.26631236, 0.008738995, 1.087036) + +[node name="CubeSideDispenser2" parent="Stations" unique_id=200950572 instance=ExtResource("16_kktuy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.35154933, 0, 1.1119425) diff --git a/Scenes/jon_scene.tscn1650886717.tmp b/Scenes/jon_scene.tscn1650886717.tmp new file mode 100644 index 0000000..286b6c9 --- /dev/null +++ b/Scenes/jon_scene.tscn1650886717.tmp @@ -0,0 +1,136 @@ +[gd_scene format=3 uid="uid://do6mrslyqe5qe"] + +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_6gspb"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="3_8n1fs"] +[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="4_6gspb"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/GameOvercontroler.gd" id="5_qmys3"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="6_b4aof"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="7_mdqee"] +[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="8_wl1ox"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="9_wrlv7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="10_dwulx"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="11_e8c1b"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="12_cm8ly"] +[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="13_0sfn4"] +[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="14_d0yvd"] +[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="15_evyxv"] +[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://stations/cube_side_dispense.tscn" id="16_kktuy"] + +[sub_resource type="Environment" id="Environment_bvwq1"] +background_mode = 2 +sky = ExtResource("2_6gspb") +ambient_light_source = 3 +ambient_light_color = Color(1, 1, 1, 1) +ambient_light_sky_contribution = 0.9 +reflected_light_source = 2 +ssr_enabled = true +ssao_enabled = true +ssil_enabled = true +sdfgi_enabled = true + +[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxMesh" id="BoxMesh_24d3s"] +material = ExtResource("7_mdqee") +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] +size = Vector3(20, 10, 0.1) + +[node name="Main" type="Node3D" unique_id=1312265607] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] +environment = SubResource("Environment_bvwq1") + +[node name="GameOverPanel" parent="." unique_id=1234658657 instance=ExtResource("3_8n1fs")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -2.0281777, 2.8122003, 0) +scene = ExtResource("4_6gspb") +viewport_size = Vector2(900, 600) +transparent = 0 +filter = false +scene_properties_keys = PackedStringArray("game_over_panel.gd") + +[node name="controler" type="Node" parent="GameOverPanel" unique_id=803158176] +script = ExtResource("5_qmys3") + +[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("6_b4aof")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9667189, 0) + +[node name="WorldContent" type="Node3D" parent="." unique_id=262398468] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] +transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) + +[node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor" unique_id=958841648] +shape = SubResource("BoxShape3D_vlqg6") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Floor/CollisionShape3D" unique_id=1939997056] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00018164515, 0.0006352663, -0.002532661) +mesh = SubResource("BoxMesh_24d3s") + +[node name="InvisibleWalls" type="StaticBody3D" parent="." unique_id=315740174] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="InvisibleWalls" unique_id=33059670] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, 8.838269) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="InvisibleWalls" unique_id=2018792171] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, -10.243342) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="InvisibleWalls" unique_id=757662929] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -9.807113, 4.688614, -0.018813243) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="InvisibleWalls" unique_id=1468386997] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.934778, 4.297072, -0.018813023) +shape = SubResource("BoxShape3D_24d3s") + +[node name="Stations" type="Node3D" parent="." unique_id=1237237441] + +[node name="Table" parent="Stations" unique_id=1863572470 instance=ExtResource("8_wl1ox")] +transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 3.6294794, 0.54177135, 0.0973109) +primary_duration = 35.0 + +[node name="Hob" parent="Stations" unique_id=1687971542 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.35077858, 0.50655985, -1.2833805) + +[node name="Hob2" parent="Stations" unique_id=717907738 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.26079375, 0.50655985, -1.2833805) + +[node name="Sink" parent="Stations" unique_id=2055277359 instance=ExtResource("10_dwulx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9064429, 0.51461196, -1.2828919) + +[node name="DirtStation" parent="Stations" unique_id=160842153 instance=ExtResource("11_e8c1b")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4574674, 0.50655985, -1.2598276) + +[node name="Counter" parent="Stations" unique_id=1487893288 instance=ExtResource("12_cm8ly")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.94890714, 0.5115015, -1.3041471) + +[node name="Counter2" parent="Stations" unique_id=368890752 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.1103079) + +[node name="Counter4" parent="Stations" unique_id=1748373996 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.70863545) + +[node name="Counter3" parent="Stations" unique_id=1498817646 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, 0.49258912) + +[node name="Counter5" parent="Stations" unique_id=200341072 instance=ExtResource("12_cm8ly")] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.9911776, 0.51150185, 0.61940837) + +[node name="BurgerBunsDispenser" parent="Stations" unique_id=1720683779 instance=ExtResource("13_0sfn4")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5242664, 0.008738995, 1.1073059) + +[node name="RawBurgerDispenser" parent="Stations" unique_id=235630131 instance=ExtResource("14_d0yvd")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8896122, 0.008738995, 1.0872328) + +[node name="PlateDispenser" parent="Stations" unique_id=710538846 instance=ExtResource("15_evyxv")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.26631236, 0.008738995, 1.087036) + +[node name="CubeSideDispenser2" parent="Stations" unique_id=200950572 instance=ExtResource("16_kktuy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.35154933, 0, 1.1119425) diff --git a/Scenes/jon_scene.tscn2137875453.tmp b/Scenes/jon_scene.tscn2137875453.tmp new file mode 100644 index 0000000..3482ad4 --- /dev/null +++ b/Scenes/jon_scene.tscn2137875453.tmp @@ -0,0 +1,136 @@ +[gd_scene format=3 uid="uid://do6mrslyqe5qe"] + +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_6gspb"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="3_8n1fs"] +[ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="4_6gspb"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/game_over_controler.gd" id="5_qmys3"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="6_b4aof"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="7_mdqee"] +[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="8_wl1ox"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="9_wrlv7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="10_dwulx"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="11_e8c1b"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="12_cm8ly"] +[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="13_0sfn4"] +[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="14_d0yvd"] +[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="15_evyxv"] +[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://stations/cube_side_dispense.tscn" id="16_kktuy"] + +[sub_resource type="Environment" id="Environment_bvwq1"] +background_mode = 2 +sky = ExtResource("2_6gspb") +ambient_light_source = 3 +ambient_light_color = Color(1, 1, 1, 1) +ambient_light_sky_contribution = 0.9 +reflected_light_source = 2 +ssr_enabled = true +ssao_enabled = true +ssil_enabled = true +sdfgi_enabled = true + +[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxMesh" id="BoxMesh_24d3s"] +material = ExtResource("7_mdqee") +size = Vector3(20, 0.1, 20) + +[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] +size = Vector3(20, 10, 0.1) + +[node name="Main" type="Node3D" unique_id=1312265607] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] +environment = SubResource("Environment_bvwq1") + +[node name="GameOverPanel" parent="." unique_id=1234658657 instance=ExtResource("3_8n1fs")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -2.0281777, 2.8122003, 0) +scene = ExtResource("4_6gspb") +viewport_size = Vector2(900, 600) +transparent = 0 +filter = false +scene_properties_keys = PackedStringArray("game_over_panel.gd") + +[node name="controler" type="Node" parent="GameOverPanel" unique_id=803158176] +script = ExtResource("5_qmys3") + +[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("6_b4aof")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9667189, 0) + +[node name="WorldContent" type="Node3D" parent="." unique_id=262398468] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] +transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) + +[node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor" unique_id=958841648] +shape = SubResource("BoxShape3D_vlqg6") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Floor/CollisionShape3D" unique_id=1939997056] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00018164515, 0.0006352663, -0.002532661) +mesh = SubResource("BoxMesh_24d3s") + +[node name="InvisibleWalls" type="StaticBody3D" parent="." unique_id=315740174] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="InvisibleWalls" unique_id=33059670] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, 8.838269) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="InvisibleWalls" unique_id=2018792171] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.688614, -10.243342) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="InvisibleWalls" unique_id=757662929] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -9.807113, 4.688614, -0.018813243) +shape = SubResource("BoxShape3D_24d3s") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="InvisibleWalls" unique_id=1468386997] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.934778, 4.297072, -0.018813023) +shape = SubResource("BoxShape3D_24d3s") + +[node name="Stations" type="Node3D" parent="." unique_id=1237237441] + +[node name="Table" parent="Stations" unique_id=1863572470 instance=ExtResource("8_wl1ox")] +transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 3.6294794, 0.54177135, 0.0973109) +primary_duration = 35.0 + +[node name="Hob" parent="Stations" unique_id=1687971542 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.35077858, 0.50655985, -1.2833805) + +[node name="Hob2" parent="Stations" unique_id=717907738 instance=ExtResource("9_wrlv7")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.26079375, 0.50655985, -1.2833805) + +[node name="Sink" parent="Stations" unique_id=2055277359 instance=ExtResource("10_dwulx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9064429, 0.51461196, -1.2828919) + +[node name="DirtStation" parent="Stations" unique_id=160842153 instance=ExtResource("11_e8c1b")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4574674, 0.50655985, -1.2598276) + +[node name="Counter" parent="Stations" unique_id=1487893288 instance=ExtResource("12_cm8ly")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.94890714, 0.5115015, -1.3041471) + +[node name="Counter2" parent="Stations" unique_id=368890752 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.1103079) + +[node name="Counter4" parent="Stations" unique_id=1748373996 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, -0.70863545) + +[node name="Counter3" parent="Stations" unique_id=1498817646 instance=ExtResource("12_cm8ly")] +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, 0.49258912) + +[node name="Counter5" parent="Stations" unique_id=200341072 instance=ExtResource("12_cm8ly")] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.9911776, 0.51150185, 0.61940837) + +[node name="BurgerBunsDispenser" parent="Stations" unique_id=1720683779 instance=ExtResource("13_0sfn4")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5242664, 0.008738995, 1.1073059) + +[node name="RawBurgerDispenser" parent="Stations" unique_id=235630131 instance=ExtResource("14_d0yvd")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8896122, 0.008738995, 1.0872328) + +[node name="PlateDispenser" parent="Stations" unique_id=710538846 instance=ExtResource("15_evyxv")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.26631236, 0.008738995, 1.087036) + +[node name="CubeSideDispenser2" parent="Stations" unique_id=200950572 instance=ExtResource("16_kktuy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.35154933, 0, 1.1119425) diff --git a/main.tscn b/Scenes/main.tscn similarity index 92% rename from main.tscn rename to Scenes/main.tscn index 9286cdf..6d06a80 100644 --- a/main.tscn +++ b/Scenes/main.tscn @@ -1,14 +1,14 @@ [gd_scene format=3 uid="uid://clw8ai6kngqxb"] -[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://main.gd" id="1_0xm2m"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_h2yge"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="3_272bh"] -[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://Items/PickupCube.tscn" id="3_h2yge"] -[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://Stations/Hob.tscn" id="3_lquwl"] -[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://Stations/Counter.tscn" id="4_7mycd"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="6_7mycd"] -[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://Items/burger.tscn" id="8_5vw27"] -[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://Containers/plate.tscn" id="9_kek77"] +[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_0xm2m"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="2_h2yge"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="3_272bh"] +[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://items/pickupcube.tscn" id="3_h2yge"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="3_lquwl"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="4_7mycd"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="6_7mycd"] +[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://items/burger.tscn" id="8_5vw27"] +[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://containers/plate.tscn" id="9_kek77"] [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] size = Vector3(5, 0.1, 5) diff --git a/Scenes/mainMenu.tscn b/Scenes/mainMenu.tscn deleted file mode 100644 index 8ab8bc5..0000000 --- a/Scenes/mainMenu.tscn +++ /dev/null @@ -1,166 +0,0 @@ -[gd_scene format=3 uid="uid://c1nv4w33fedj6"] - -[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://main.gd" id="1_72gy5"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_8wkh3"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="3_m56cs"] -[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://Stations/Hob.tscn" id="4_5kvh0"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="5_l1qm6"] -[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://Items/BurgerBuns.tscn" id="6_bktvt"] -[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://Stations/BurgerBunsDispenser.tscn" id="7_1nkd0"] -[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://Containers/plate.tscn" id="8_l1owj"] -[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://Items/burger.tscn" id="9_220hi"] -[ext_resource type="PackedScene" uid="uid://b3m2ag8g5rj4r" path="res://Items/hamburger.tscn" id="10_qacki"] -[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://Items/PickupCube.tscn" id="11_npf8s"] -[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://Stations/sink.tscn" id="12_8apyq"] -[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://Stations/dirt_station.tscn" id="13_jnwcx"] -[ext_resource type="PackedScene" uid="uid://cfc4ho67u4r5e" path="res://Items/cooked_burger.tscn" id="14_1lg2m"] -[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://Stations/Counter.tscn" id="15_yy81s"] -[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="16_vp"] -[ext_resource type="PackedScene" path="res://UI/main_menu_panel.tscn" id="17_panel"] - -[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] -size = Vector3(115, 0.1, 15) - -[sub_resource type="BoxMesh" id="BoxMesh_24d3s"] -material = ExtResource("3_m56cs") -size = Vector3(15, 0.1, 15) - -[sub_resource type="Environment" id="Environment_bvwq1"] -background_mode = 2 -sky = ExtResource("5_l1qm6") -reflected_light_source = 2 -ssr_enabled = true -ssao_enabled = true -ssil_enabled = true -sdfgi_enabled = true - -[node name="Main" type="Node3D" unique_id=1312265607] -script = ExtResource("1_72gy5") - -[node name="XROrigin3D" parent="." unique_id=2055526621 instance=ExtResource("2_8wkh3")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.36171648, 0, 0.81835127) - -[node name="MainMenuPanel3D" parent="." unique_id=1448860532 instance=ExtResource("16_vp")] -transform = Transform3D(5, 0, 0, 0, 5, 0, 0, 0, 5, 0.36171648, 2.0238447, -1.9758987) -screen_size = Vector2(0.6, 0.4) -scene = ExtResource("17_panel") -viewport_size = Vector2(600, 400) -transparent = 1 -scene_properties_keys = PackedStringArray("main_menu_panel.gd") - -[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] -transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) - -[node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor" unique_id=958841648] -shape = SubResource("BoxShape3D_vlqg6") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="Floor/CollisionShape3D" unique_id=1939997056] -mesh = SubResource("BoxMesh_24d3s") - -[node name="Hob" parent="." unique_id=1687971542 instance=ExtResource("4_5kvh0")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.29336345, 0.5, -1.484) - -[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] -environment = SubResource("Environment_bvwq1") - -[node name="BurgerBuns" parent="." unique_id=1088240294 instance=ExtResource("6_bktvt")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5530176, 1.0505146, -1.3074328) - -[node name="BurgerBunsDispenser" parent="." unique_id=1720683779 instance=ExtResource("7_1nkd0")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.568947, -0.018512607, -1.317366) - -[node name="Plate" parent="." unique_id=190487773 instance=ExtResource("8_l1owj")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5717233, 1.1548845, 1.5373346) - -[node name="burger" parent="." unique_id=1417604760 instance=ExtResource("9_220hi")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6888188, 1.0325116, -1.7110313) - -[node name="burger2" parent="." unique_id=1584460510 instance=ExtResource("9_220hi")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6931299, 1.1429771, -1.71225) - -[node name="burger3" parent="." unique_id=1884095916 instance=ExtResource("9_220hi")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.69027674, 1.1099085, -1.7210286) - -[node name="burger4" parent="." unique_id=1844818864 instance=ExtResource("9_220hi")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.69134104, 1.0672915, -1.7210286) - -[node name="Hamburger" parent="." unique_id=761091445 instance=ExtResource("10_qacki")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.9352558, 1.2334514, 1.2447833) - -[node name="PickableObject" parent="." unique_id=1675596942 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6077032e-08, 1.4901161e-08, 1, 0.6225724, 1.0654817, -1.0473135) - -[node name="PickableObject2" parent="." unique_id=713087634 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, -5.293956e-23, -2.6077032e-08, 1.4901161e-08, 1, 0.6359743, 1.0501236, -1.1673055) - -[node name="PickableObject3" parent="." unique_id=879935619 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6077032e-08, 1.4901161e-08, 1, 0.5142721, 1.0654817, -1.0473135) - -[node name="PickableObject4" parent="." unique_id=198541902 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, -5.293956e-23, -2.6077032e-08, 1.4901161e-08, 1, 0.5276739, 1.0501236, -1.1673055) - -[node name="Hamburger2" parent="." unique_id=1349934579 instance=ExtResource("10_qacki")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.9857153, 1.1424131, 0.9472374) - -[node name="PickableObject5" parent="." unique_id=1021333509 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6077032e-08, 1.4901161e-08, 1, 0.73287535, 1.0922265, -1.0473135) - -[node name="PickableObject6" parent="." unique_id=1268843669 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, -5.293956e-23, -2.6077032e-08, 1.4901161e-08, 1, 0.7462772, 1.0768684, -1.1673055) - -[node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("12_8apyq")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.3147688, 0.5, -1.4940417) - -[node name="DirtStation" parent="." unique_id=160842153 instance=ExtResource("13_jnwcx")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.0864775, 0.5, -1.244947) - -[node name="Plate2" parent="." unique_id=356790445 instance=ExtResource("8_l1owj")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5730225, 1.1085004, 0.59790254) - -[node name="CookedBurger" parent="." unique_id=1127807542 instance=ExtResource("14_1lg2m")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.30782473, 1.1446649, -1.0928738) - -[node name="CookedBurger2" parent="." unique_id=160088590 instance=ExtResource("14_1lg2m")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.30671906, 1.0522771, -1.0928738) - -[node name="CookedBurger3" parent="." unique_id=992183367 instance=ExtResource("14_1lg2m")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.3344773, 1.0492828, -0.7096845) - -[node name="CookedBurger4" parent="." unique_id=1837607086 instance=ExtResource("14_1lg2m")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.30671906, 1.098119, -1.0928738) - -[node name="BurgerBuns2" parent="." unique_id=1210358958 instance=ExtResource("6_bktvt")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.3596323, 1.0205106, -0.22482127) - -[node name="PickableObject7" parent="." unique_id=641653545 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6077032e-08, 1.4901161e-08, 1, -1.3556751, 1.0887735, 0.28881657) - -[node name="PickableObject8" parent="." unique_id=1733819363 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, -5.293956e-23, -2.6077032e-08, 1.4901161e-08, 1, -1.3422732, 1.0734154, 0.16882455) - -[node name="PickableObject9" parent="." unique_id=12419746 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6077032e-08, 1.4901161e-08, 1, -1.4639754, 1.0887735, 0.28881657) - -[node name="PickableObject10" parent="." unique_id=313160217 instance=ExtResource("11_npf8s")] -transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, -5.293956e-23, -2.6077032e-08, 1.4901161e-08, 1, -1.4505737, 1.0734154, 0.16882455) - -[node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("15_yy81s")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7124918, 0.5, -1.4886917) - -[node name="Counter2" parent="." unique_id=368890752 instance=ExtResource("15_yy81s")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.7648025, 0.5, -0.4458799) - -[node name="Counter3" parent="." unique_id=1498817646 instance=ExtResource("15_yy81s")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.7648025, 0.5, 0.55367994) - -[node name="Counter4" parent="." unique_id=906748771 instance=ExtResource("15_yy81s")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.7648025, 0.5, 1.5539298) - -[node name="Hamburger3" parent="." unique_id=369573848 instance=ExtResource("10_qacki")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.7201865, 1.142413, 0.14773655) - -[node name="Plate3" parent="." unique_id=2004250522 instance=ExtResource("8_l1owj")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5818124, 1.1085004, -0.4634577) diff --git a/Scenes/main_menu.tscn b/Scenes/main_menu.tscn new file mode 100644 index 0000000..d211d06 --- /dev/null +++ b/Scenes/main_menu.tscn @@ -0,0 +1,53 @@ +[gd_scene format=3 uid="uid://c1nv4w33fedj6"] + +[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_rtw2f"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_rtw2f"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="3_tbmy8"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="4_jk1qb"] +[ext_resource type="PackedScene" path="res://ui/main_menu_panel.tscn" id="5_rtw2f"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="6_oa1go"] + +[sub_resource type="Environment" id="Environment_bvwq1"] +background_mode = 2 +sky = ExtResource("2_rtw2f") +reflected_light_source = 2 +ssr_enabled = true +ssao_enabled = true +ssil_enabled = true +sdfgi_enabled = true + +[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] +size = Vector3(115, 0.1, 15) + +[sub_resource type="BoxMesh" id="BoxMesh_24d3s"] +material = ExtResource("6_oa1go") +size = Vector3(15, 0.1, 15) + +[node name="Main" type="Node3D" unique_id=1312265607] +script = ExtResource("1_rtw2f") + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] +environment = SubResource("Environment_bvwq1") + +[node name="XROrigin3D" parent="." unique_id=2055526621 instance=ExtResource("3_tbmy8")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.36171648, 0, 0.81835127) + +[node name="MainMenuPanel3D" parent="." unique_id=1448860532 instance=ExtResource("4_jk1qb")] +transform = Transform3D(5, 0, 0, 0, 5, 0, 0, 0, 5, 0.36171648, 2.0238447, -1.9758987) +screen_size = Vector2(0.6, 0.4) +scene = ExtResource("5_rtw2f") +viewport_size = Vector2(600, 400) +transparent = 1 +scene_properties_keys = PackedStringArray("main_menu_panel.gd") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] +transform = Transform3D(-0.8660254, -0.43301278, 0.24999999, 0.3022632, -0.05510214, 0.9516306, -0.39829266, 0.8997021, 0.17860365, 0, 0, 0) + +[node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor" unique_id=958841648] +shape = SubResource("BoxShape3D_vlqg6") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Floor/CollisionShape3D" unique_id=1939997056] +mesh = SubResource("BoxMesh_24d3s") diff --git a/Scenes/multiPlayer.tscn b/Scenes/multiPlayer.tscn index c3043ae..128383c 100644 --- a/Scenes/multiPlayer.tscn +++ b/Scenes/multiPlayer.tscn @@ -1,21 +1,19 @@ [gd_scene format=3 uid="uid://c30i6h32w8p47"] -[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Scenes/multiplayer_world.gd" id="1_kdan8"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_g30gi"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="3_75ecy"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="5_c3xgf"] -[ext_resource type="Script" uid="uid://biu4qr3nr1eny" path="res://test/mp_test_driver.gd" id="99_mptst"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="1_pjkx2"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="2_pjkx2"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="3_4vwpp"] [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] size = Vector3(15, 0.1, 15) [sub_resource type="BoxMesh" id="BoxMesh_24d3s"] -material = ExtResource("3_75ecy") +material = ExtResource("2_pjkx2") size = Vector3(15, 0.1, 15) [sub_resource type="Environment" id="Environment_bvwq1"] background_mode = 2 -sky = ExtResource("5_c3xgf") +sky = ExtResource("3_4vwpp") reflected_light_source = 2 ssr_enabled = true ssao_enabled = true @@ -26,9 +24,8 @@ sdfgi_enabled = true size = Vector3(15, 20, 0.1) [node name="Main" type="Node3D" unique_id=1312265607] -script = ExtResource("1_kdan8") -[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("2_g30gi")] +[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("1_pjkx2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.36171648, 0, 0.81835127) [node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1376644384] @@ -75,6 +72,3 @@ shape = SubResource("BoxShape3D_arao0") [node name="CollisionShape3D4" type="CollisionShape3D" parent="StaticBody3D" unique_id=1431367494] transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.502467, 9.197384, -0.018813023) shape = SubResource("BoxShape3D_arao0") - -[node name="TestDriver" type="Node" parent="."] -script = ExtResource("99_mptst") diff --git a/Scenes/test_small.tscn b/Scenes/test_small.tscn index 08676dd..bab4910 100644 --- a/Scenes/test_small.tscn +++ b/Scenes/test_small.tscn @@ -1,13 +1,13 @@ [gd_scene format=3 uid="uid://dbgu4r127ke5v"] -[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://main.gd" id="1_1ymas"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="2_1jq86"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="3_bryd6"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="4_kpgm6"] -[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://Stations/Hob.tscn" id="5_gfdi7"] -[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://Stations/sink.tscn" id="6_fmmg3"] -[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://Stations/Counter.tscn" id="7_jnxsa"] -[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://Items/PickupCube.tscn" id="8_xl5nn"] +[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_1ymas"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="2_1jq86"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="3_bryd6"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="4_kpgm6"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="5_gfdi7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="6_fmmg3"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="7_jnxsa"] +[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://items/pickupcube.tscn" id="8_xl5nn"] [sub_resource type="Environment" id="Environment_bvwq1"] background_mode = 2 diff --git a/Sounds/220175__gameaudio__pop-click.wav.import b/Sounds/220175__gameaudio__pop-click.wav.import index a9417c0..4d6c554 100644 --- a/Sounds/220175__gameaudio__pop-click.wav.import +++ b/Sounds/220175__gameaudio__pop-click.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://mmasxwqyqmib" -path="res://.godot/imported/220175__gameaudio__pop-click.wav-1330523e09eacb15d341a14b80e4481e.sample" +path="res://.godot/imported/220175__gameaudio__pop-click.wav-6ef2d3317a82c347b715936ede79653a.sample" [deps] -source_file="res://Sounds/220175__gameaudio__pop-click.wav" -dest_files=["res://.godot/imported/220175__gameaudio__pop-click.wav-1330523e09eacb15d341a14b80e4481e.sample"] +source_file="res://sounds/220175__gameaudio__pop-click.wav" +dest_files=["res://.godot/imported/220175__gameaudio__pop-click.wav-6ef2d3317a82c347b715936ede79653a.sample"] [params] diff --git a/Sounds/220178__gameaudio__click.wav.import b/Sounds/220178__gameaudio__click.wav.import index 3a17a60..f38e5e9 100644 --- a/Sounds/220178__gameaudio__click.wav.import +++ b/Sounds/220178__gameaudio__click.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://ecva70pect61" -path="res://.godot/imported/220178__gameaudio__click.wav-ca46bf33c1c48e1e526f04c43ca7d450.sample" +path="res://.godot/imported/220178__gameaudio__click.wav-566ebf31c82573e187ff8a1db97a7861.sample" [deps] -source_file="res://Sounds/220178__gameaudio__click.wav" -dest_files=["res://.godot/imported/220178__gameaudio__click.wav-ca46bf33c1c48e1e526f04c43ca7d450.sample"] +source_file="res://sounds/220178__gameaudio__click.wav" +dest_files=["res://.godot/imported/220178__gameaudio__click.wav-566ebf31c82573e187ff8a1db97a7861.sample"] [params] diff --git a/Sounds/220179__gameaudio__click-metal-ting.wav.import b/Sounds/220179__gameaudio__click-metal-ting.wav.import index a53e857..f6d87f5 100644 --- a/Sounds/220179__gameaudio__click-metal-ting.wav.import +++ b/Sounds/220179__gameaudio__click-metal-ting.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://b3wxawyrvuc6s" -path="res://.godot/imported/220179__gameaudio__click-metal-ting.wav-b01c457287fe42298a36c3de7c536c68.sample" +path="res://.godot/imported/220179__gameaudio__click-metal-ting.wav-82be282871110eef8fea8249619832d7.sample" [deps] -source_file="res://Sounds/220179__gameaudio__click-metal-ting.wav" -dest_files=["res://.godot/imported/220179__gameaudio__click-metal-ting.wav-b01c457287fe42298a36c3de7c536c68.sample"] +source_file="res://sounds/220179__gameaudio__click-metal-ting.wav" +dest_files=["res://.godot/imported/220179__gameaudio__click-metal-ting.wav-82be282871110eef8fea8249619832d7.sample"] [params] diff --git a/Sounds/220180__gameaudio__click-pop.wav.import b/Sounds/220180__gameaudio__click-pop.wav.import index ae51e42..38974c6 100644 --- a/Sounds/220180__gameaudio__click-pop.wav.import +++ b/Sounds/220180__gameaudio__click-pop.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://b7sr2sb1ks5en" -path="res://.godot/imported/220180__gameaudio__click-pop.wav-9e467150046193d705dd830885c89cd1.sample" +path="res://.godot/imported/220180__gameaudio__click-pop.wav-32216325683d314fa3adc66d13e633f4.sample" [deps] -source_file="res://Sounds/220180__gameaudio__click-pop.wav" -dest_files=["res://.godot/imported/220180__gameaudio__click-pop.wav-9e467150046193d705dd830885c89cd1.sample"] +source_file="res://sounds/220180__gameaudio__click-pop.wav" +dest_files=["res://.godot/imported/220180__gameaudio__click-pop.wav-32216325683d314fa3adc66d13e633f4.sample"] [params] diff --git a/Sounds/220187__gameaudio__loosedeny-casual-1.wav.import b/Sounds/220187__gameaudio__loosedeny-casual-1.wav.import index a847b10..10e846f 100644 --- a/Sounds/220187__gameaudio__loosedeny-casual-1.wav.import +++ b/Sounds/220187__gameaudio__loosedeny-casual-1.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://1ccsqbju32ey" -path="res://.godot/imported/220187__gameaudio__loosedeny-casual-1.wav-cb0e560d42c6026ded2d2e240e614433.sample" +path="res://.godot/imported/220187__gameaudio__loosedeny-casual-1.wav-2e7c1356ffec0a1e5b732b21f42e21a0.sample" [deps] -source_file="res://Sounds/220187__gameaudio__loosedeny-casual-1.wav" -dest_files=["res://.godot/imported/220187__gameaudio__loosedeny-casual-1.wav-cb0e560d42c6026ded2d2e240e614433.sample"] +source_file="res://sounds/220187__gameaudio__loosedeny-casual-1.wav" +dest_files=["res://.godot/imported/220187__gameaudio__loosedeny-casual-1.wav-2e7c1356ffec0a1e5b732b21f42e21a0.sample"] [params] diff --git a/Sounds/220194__gameaudio__click-heavy.wav.import b/Sounds/220194__gameaudio__click-heavy.wav.import index a99b102..f0a2904 100644 --- a/Sounds/220194__gameaudio__click-heavy.wav.import +++ b/Sounds/220194__gameaudio__click-heavy.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://bdnsgt7xt3261" -path="res://.godot/imported/220194__gameaudio__click-heavy.wav-aca40ed286d93eb365d527a162fd3129.sample" +path="res://.godot/imported/220194__gameaudio__click-heavy.wav-43269bff3c60e2451b470f929c6b6bb8.sample" [deps] -source_file="res://Sounds/220194__gameaudio__click-heavy.wav" -dest_files=["res://.godot/imported/220194__gameaudio__click-heavy.wav-aca40ed286d93eb365d527a162fd3129.sample"] +source_file="res://sounds/220194__gameaudio__click-heavy.wav" +dest_files=["res://.godot/imported/220194__gameaudio__click-heavy.wav-43269bff3c60e2451b470f929c6b6bb8.sample"] [params] diff --git a/Sounds/220195__gameaudio__click-wooden-1.wav.import b/Sounds/220195__gameaudio__click-wooden-1.wav.import index 57569f4..f7f67c2 100644 --- a/Sounds/220195__gameaudio__click-wooden-1.wav.import +++ b/Sounds/220195__gameaudio__click-wooden-1.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://daiv8ubwdbidf" -path="res://.godot/imported/220195__gameaudio__click-wooden-1.wav-9368ef861eabf2cf1d5bd0db33c616c8.sample" +path="res://.godot/imported/220195__gameaudio__click-wooden-1.wav-f161e2c5a53d686c65d143b45f33acb1.sample" [deps] -source_file="res://Sounds/220195__gameaudio__click-wooden-1.wav" -dest_files=["res://.godot/imported/220195__gameaudio__click-wooden-1.wav-9368ef861eabf2cf1d5bd0db33c616c8.sample"] +source_file="res://sounds/220195__gameaudio__click-wooden-1.wav" +dest_files=["res://.godot/imported/220195__gameaudio__click-wooden-1.wav-f161e2c5a53d686c65d143b45f33acb1.sample"] [params] diff --git a/Sounds/220196__gameaudio__click-wooden-2.wav.import b/Sounds/220196__gameaudio__click-wooden-2.wav.import index 5207b69..544f5b2 100644 --- a/Sounds/220196__gameaudio__click-wooden-2.wav.import +++ b/Sounds/220196__gameaudio__click-wooden-2.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://qed775b4j1gg" -path="res://.godot/imported/220196__gameaudio__click-wooden-2.wav-45bb63efefaf817b60155beec9343d74.sample" +path="res://.godot/imported/220196__gameaudio__click-wooden-2.wav-372f3d1af9c561baf2360e14b5b7050b.sample" [deps] -source_file="res://Sounds/220196__gameaudio__click-wooden-2.wav" -dest_files=["res://.godot/imported/220196__gameaudio__click-wooden-2.wav-45bb63efefaf817b60155beec9343d74.sample"] +source_file="res://sounds/220196__gameaudio__click-wooden-2.wav" +dest_files=["res://.godot/imported/220196__gameaudio__click-wooden-2.wav-372f3d1af9c561baf2360e14b5b7050b.sample"] [params] diff --git a/Sounds/220197__gameaudio__click-basic.wav.import b/Sounds/220197__gameaudio__click-basic.wav.import index 4136eac..ec90517 100644 --- a/Sounds/220197__gameaudio__click-basic.wav.import +++ b/Sounds/220197__gameaudio__click-basic.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://bqtk1adk8umbx" -path="res://.godot/imported/220197__gameaudio__click-basic.wav-9f173e2b7206278e95710ab077d62c32.sample" +path="res://.godot/imported/220197__gameaudio__click-basic.wav-61aa24994882b9ab5848ecead3d7aba9.sample" [deps] -source_file="res://Sounds/220197__gameaudio__click-basic.wav" -dest_files=["res://.godot/imported/220197__gameaudio__click-basic.wav-9f173e2b7206278e95710ab077d62c32.sample"] +source_file="res://sounds/220197__gameaudio__click-basic.wav" +dest_files=["res://.godot/imported/220197__gameaudio__click-basic.wav-61aa24994882b9ab5848ecead3d7aba9.sample"] [params] diff --git a/Sounds/220198__gameaudio__click-with-two-parts.wav.import b/Sounds/220198__gameaudio__click-with-two-parts.wav.import index 8a4c740..807e364 100644 --- a/Sounds/220198__gameaudio__click-with-two-parts.wav.import +++ b/Sounds/220198__gameaudio__click-with-two-parts.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://ysgfx76jkx2q" -path="res://.godot/imported/220198__gameaudio__click-with-two-parts.wav-089977567529b37b0fd9cd019eb7b3c2.sample" +path="res://.godot/imported/220198__gameaudio__click-with-two-parts.wav-23adbbdcc4d995994bf9700f6b6e244d.sample" [deps] -source_file="res://Sounds/220198__gameaudio__click-with-two-parts.wav" -dest_files=["res://.godot/imported/220198__gameaudio__click-with-two-parts.wav-089977567529b37b0fd9cd019eb7b3c2.sample"] +source_file="res://sounds/220198__gameaudio__click-with-two-parts.wav" +dest_files=["res://.godot/imported/220198__gameaudio__click-with-two-parts.wav-23adbbdcc4d995994bf9700f6b6e244d.sample"] [params] diff --git a/Sounds/220199__gameaudio__click-higher.wav.import b/Sounds/220199__gameaudio__click-higher.wav.import index a031b89..c47ebe1 100644 --- a/Sounds/220199__gameaudio__click-higher.wav.import +++ b/Sounds/220199__gameaudio__click-higher.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://dtyh22ccebiv5" -path="res://.godot/imported/220199__gameaudio__click-higher.wav-d1c1550d99a0cc873012c4010877005b.sample" +path="res://.godot/imported/220199__gameaudio__click-higher.wav-0ea6f7a1d32e528aace111f0ce8b9631.sample" [deps] -source_file="res://Sounds/220199__gameaudio__click-higher.wav" -dest_files=["res://.godot/imported/220199__gameaudio__click-higher.wav-d1c1550d99a0cc873012c4010877005b.sample"] +source_file="res://sounds/220199__gameaudio__click-higher.wav" +dest_files=["res://.godot/imported/220199__gameaudio__click-higher.wav-0ea6f7a1d32e528aace111f0ce8b9631.sample"] [params] diff --git a/Sounds/220208__gameaudio__click-pop-two-part.wav.import b/Sounds/220208__gameaudio__click-pop-two-part.wav.import index 46dfa62..a6f2205 100644 --- a/Sounds/220208__gameaudio__click-pop-two-part.wav.import +++ b/Sounds/220208__gameaudio__click-pop-two-part.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://cywjbbeintjew" -path="res://.godot/imported/220208__gameaudio__click-pop-two-part.wav-04cb5eb3e0b3459771dbab42bbd24be9.sample" +path="res://.godot/imported/220208__gameaudio__click-pop-two-part.wav-9e40de3d9bebd124d0fe54a4f4cc4db9.sample" [deps] -source_file="res://Sounds/220208__gameaudio__click-pop-two-part.wav" -dest_files=["res://.godot/imported/220208__gameaudio__click-pop-two-part.wav-04cb5eb3e0b3459771dbab42bbd24be9.sample"] +source_file="res://sounds/220208__gameaudio__click-pop-two-part.wav" +dest_files=["res://.godot/imported/220208__gameaudio__click-pop-two-part.wav-9e40de3d9bebd124d0fe54a4f4cc4db9.sample"] [params] diff --git a/Sounds/220212__gameaudio__ping-bing.wav.import b/Sounds/220212__gameaudio__ping-bing.wav.import index 8ac3beb..519a7b2 100644 --- a/Sounds/220212__gameaudio__ping-bing.wav.import +++ b/Sounds/220212__gameaudio__ping-bing.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://claw3d2wnyr6a" -path="res://.godot/imported/220212__gameaudio__ping-bing.wav-2a1049829e71a0034c7e8d18745663f1.sample" +path="res://.godot/imported/220212__gameaudio__ping-bing.wav-04a5460471fa8fe82fe5d9bc5d946bb0.sample" [deps] -source_file="res://Sounds/220212__gameaudio__ping-bing.wav" -dest_files=["res://.godot/imported/220212__gameaudio__ping-bing.wav-2a1049829e71a0034c7e8d18745663f1.sample"] +source_file="res://sounds/220212__gameaudio__ping-bing.wav" +dest_files=["res://.godot/imported/220212__gameaudio__ping-bing.wav-04a5460471fa8fe82fe5d9bc5d946bb0.sample"] [params] diff --git a/Sounds/money.mp3.import b/Sounds/money.mp3.import index 8ef2e95..af074b0 100644 --- a/Sounds/money.mp3.import +++ b/Sounds/money.mp3.import @@ -3,12 +3,12 @@ importer="mp3" type="AudioStreamMP3" uid="uid://clkjwcawdqvta" -path="res://.godot/imported/money.mp3-95c717b8402507d80974f4f4287b0b63.mp3str" +path="res://.godot/imported/money.mp3-e3eae11b0c1923c268268b900bde9157.mp3str" [deps] -source_file="res://Sounds/money.mp3" -dest_files=["res://.godot/imported/money.mp3-95c717b8402507d80974f4f4287b0b63.mp3str"] +source_file="res://sounds/money.mp3" +dest_files=["res://.godot/imported/money.mp3-e3eae11b0c1923c268268b900bde9157.mp3str"] [params] diff --git a/Stations/BurgerBunsDispenser.tscn b/Stations/BurgerBunsDispenser.tscn index 43038cf..bc21b36 100644 --- a/Stations/BurgerBunsDispenser.tscn +++ b/Stations/BurgerBunsDispenser.tscn @@ -1,9 +1,9 @@ [gd_scene format=3 uid="uid://c6rift56ql3f8"] -[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://Stations/item_dispenser.gd" id="1_myl3s"] +[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://stations/item_dispenser.gd" id="1_myl3s"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1_p30r1"] -[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://Items/BurgerBuns.tscn" id="2_1q74o"] -[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://Prefabs/slide_off_dome.tscn" id="4_rf1b2"] +[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://items/burger_buns.tscn" id="2_1q74o"] +[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_rf1b2"] [sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"] radius = 0.3 diff --git a/Stations/Counter.tscn b/Stations/Counter.tscn index c010d1f..7728b9b 100644 --- a/Stations/Counter.tscn +++ b/Stations/Counter.tscn @@ -1,7 +1,7 @@ [gd_scene format=3 uid="uid://efaec6ymgabo"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1_dlkho"] -[ext_resource type="AudioStream" uid="uid://bqtk1adk8umbx" path="res://Sounds/220197__gameaudio__click-basic.wav" id="2_0aadn"] +[ext_resource type="AudioStream" uid="uid://bqtk1adk8umbx" path="res://sounds/220197__gameaudio__click-basic.wav" id="2_0aadn"] [sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] size = Vector3(0.6, 1, 0.6) diff --git a/Stations/Hob.tscn b/Stations/Hob.tscn index c5b8b70..87bd63a 100644 --- a/Stations/Hob.tscn +++ b/Stations/Hob.tscn @@ -1,19 +1,19 @@ [gd_scene format=3 uid="uid://j7caslh27nor"] -[ext_resource type="Script" uid="uid://bsn8vhv5adxdo" path="res://Stations/hob.gd" id="1_7jc4g"] -[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_er1dp"] -[ext_resource type="AudioStream" uid="uid://bqtk1adk8umbx" path="res://Sounds/220197__gameaudio__click-basic.wav" id="3_6oyg1"] -[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="3_7uuqv"] -[ext_resource type="Material" uid="uid://d1djvskv4n4m3" path="res://Textures/hob_off.tres" id="4_8qpxk"] -[ext_resource type="Material" uid="uid://db7c7w4apwti7" path="res://Textures/hob_on.tres" id="6_m7l4u"] -[ext_resource type="Script" uid="uid://bu0g23cfrqy0m" path="res://Stations/station_movement.gd" id="7_akjp4"] -[ext_resource type="Script" uid="uid://bfrlpbsqg5lqr" path="res://addons/godot-xr-tools/objects/pickable.gd" id="7_d4kl5"] -[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="8_w3ous"] -[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="9_rdqhn"] -[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="10_hyphg"] -[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="11_sexl6"] -[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="12_0t4ed"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="15_trny8"] +[ext_resource type="Script" uid="uid://bsn8vhv5adxdo" path="res://stations/hob.gd" id="1_34vy5"] +[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_xy5oe"] +[ext_resource type="AudioStream" uid="uid://bqtk1adk8umbx" path="res://sounds/220197__gameaudio__click-basic.wav" id="3_aqrs6"] +[ext_resource type="Material" uid="uid://d1djvskv4n4m3" path="res://textures/hob_off.tres" id="4_34vy5"] +[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://ui/progress_bar.tscn" id="5_m4alr"] +[ext_resource type="Material" uid="uid://db7c7w4apwti7" path="res://textures/hob_on.tres" id="6_xy5oe"] +[ext_resource type="Script" uid="uid://bu0g23cfrqy0m" path="res://stations/station_movement.gd" id="7_tjce5"] +[ext_resource type="Script" uid="uid://bfrlpbsqg5lqr" path="res://addons/godot-xr-tools/objects/pickable.gd" id="8_f2m64"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="9_7mmlt"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="10_jnfpx"] +[ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="11_4me6o"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="12_tlp5u"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="13_vttml"] +[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="14_glc7b"] [sub_resource type="BoxShape3D" id="BoxShape3D_kdxnr"] size = Vector3(0.6, 1, 0.6) @@ -52,7 +52,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [ExtResource("4_8qpxk")] +"values": [ExtResource("4_34vy5")] } tracks/1/type = "value" tracks/1/imported = false @@ -64,7 +64,7 @@ tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [ExtResource("4_8qpxk")] +"values": [ExtResource("4_34vy5")] } tracks/2/type = "value" tracks/2/imported = false @@ -76,7 +76,7 @@ tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [ExtResource("4_8qpxk")] +"values": [ExtResource("4_34vy5")] } tracks/3/type = "value" tracks/3/imported = false @@ -116,7 +116,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [ExtResource("6_m7l4u")] +"values": [ExtResource("6_xy5oe")] } tracks/1/type = "value" tracks/1/imported = false @@ -128,7 +128,7 @@ tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [ExtResource("6_m7l4u")] +"values": [ExtResource("6_xy5oe")] } tracks/2/type = "value" tracks/2/imported = false @@ -140,7 +140,7 @@ tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [ExtResource("6_m7l4u")] +"values": [ExtResource("6_xy5oe")] } tracks/3/type = "value" tracks/3/imported = false @@ -184,13 +184,13 @@ material = SubResource("StandardMaterial3D_24d3s") size = Vector3(0.1, 0.1, 0.1) [sub_resource type="Resource" id="Resource_lc22d"] -script = ExtResource("10_hyphg") -closed_pose = ExtResource("9_rdqhn") +script = ExtResource("11_4me6o") +closed_pose = ExtResource("10_jnfpx") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" [sub_resource type="Resource" id="Resource_qyiot"] -script = ExtResource("10_hyphg") -closed_pose = ExtResource("12_0t4ed") +script = ExtResource("11_4me6o") +closed_pose = ExtResource("13_vttml") metadata/_custom_type_script = "uid://dvobm6vcfnqe8" [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_cube"] @@ -205,7 +205,7 @@ properties/2/spawn = true properties/2/replication_mode = 1 [node name="Hob" type="StaticBody3D" unique_id=1687971542 groups=["station"]] -script = ExtResource("1_7jc4g") +script = ExtResource("1_34vy5") [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1283846023] shape = SubResource("BoxShape3D_kdxnr") @@ -214,8 +214,8 @@ shape = SubResource("BoxShape3D_kdxnr") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5270121, 0) collision_layer = 65536 collision_mask = 65540 -script = ExtResource("2_er1dp") -stash_sound = ExtResource("3_6oyg1") +script = ExtResource("2_xy5oe") +stash_sound = ExtResource("3_aqrs6") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" @@ -244,21 +244,21 @@ transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0. inner_radius = 0.09153879 outer_radius = 0.120084204 sides = 32 -material = ExtResource("4_8qpxk") +material = ExtResource("4_34vy5") [node name="CSGTorus3D2" type="CSGTorus3D" parent="CSGCombiner3D" unique_id=24541894] transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.5003869, -7.827557e-05) inner_radius = 0.15036294 outer_radius = 0.17592031 sides = 32 -material = ExtResource("4_8qpxk") +material = ExtResource("4_34vy5") [node name="CSGTorus3D" type="CSGTorus3D" parent="CSGCombiner3D" unique_id=1901978664] transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.5003869, -7.827557e-05) inner_radius = 0.20426142 outer_radius = 0.2321898 sides = 32 -material = ExtResource("4_8qpxk") +material = ExtResource("4_34vy5") [node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1107239311] transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.4498226, -7.827557e-05) @@ -310,7 +310,7 @@ size = Vector3(0.55, 0.096, 0.14) [node name="Sync" type="MultiplayerSynchronizer" parent="." unique_id=768992259] replication_config = SubResource("SceneReplicationConfig_np_hob") -[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("3_7uuqv")] +[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("5_m4alr")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.74736404, -0.09216304) [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1525460719] @@ -323,7 +323,7 @@ light_energy = 0.0 omni_range = 0.5 [node name="Movement" type="Node3D" parent="." unique_id=1818087979] -script = ExtResource("7_akjp4") +script = ExtResource("7_tjce5") [node name="MoveHandle" type="RigidBody3D" parent="Movement" unique_id=1675596942 groups=["platalbe_item"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.92786825, 0) @@ -335,7 +335,7 @@ axis_lock_angular_z = true mass = 0.004 gravity_scale = 0.0 linear_damp = 100.0 -script = ExtResource("7_d4kl5") +script = ExtResource("8_f2m64") [node name="CollisionShape3D" type="CollisionShape3D" parent="Movement/MoveHandle" unique_id=1023455695] shape = SubResource("BoxShape3D_m1xbq") @@ -343,14 +343,14 @@ shape = SubResource("BoxShape3D_m1xbq") [node name="MeshInstance3D" type="MeshInstance3D" parent="Movement/MoveHandle" unique_id=1223689787] mesh = SubResource("BoxMesh_vlqg6") -[node name="GrabPointHandLeft" parent="Movement/MoveHandle" unique_id=1571481674 instance=ExtResource("8_w3ous")] +[node name="GrabPointHandLeft" parent="Movement/MoveHandle" unique_id=1571481674 instance=ExtResource("9_7mmlt")] 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="Movement/MoveHandle" unique_id=514404634 instance=ExtResource("11_sexl6")] +[node name="GrabPointHandRight" parent="Movement/MoveHandle" unique_id=514404634 instance=ExtResource("12_tlp5u")] 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="Movement/MoveHandle" unique_id=1858332513] replication_config = SubResource("SceneReplicationConfig_np_cube") -script = ExtResource("15_trny8") +script = ExtResource("14_glc7b") diff --git a/Scenes/cube_side_dispense.tscn b/Stations/cube_side_dispense.tscn similarity index 96% rename from Scenes/cube_side_dispense.tscn rename to Stations/cube_side_dispense.tscn index cda25fb..11fe138 100644 --- a/Scenes/cube_side_dispense.tscn +++ b/Stations/cube_side_dispense.tscn @@ -1,9 +1,9 @@ [gd_scene format=3 uid="uid://bbg7dwsbxxh1t"] -[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://Stations/item_dispenser.gd" id="1_4m60m"] -[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://Items/PickupCube.tscn" id="2_nn8tr"] +[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://stations/item_dispenser.gd" id="1_4m60m"] +[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://items/pickupcube.tscn" id="2_nn8tr"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_ahn1e"] -[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://Prefabs/slide_off_dome.tscn" id="4_nn8tr"] +[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_nn8tr"] [sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"] radius = 0.3 diff --git a/Stations/dirt_station.gd b/Stations/dirt_station.gd index 1606464..4af6935 100644 --- a/Stations/dirt_station.gd +++ b/Stations/dirt_station.gd @@ -7,8 +7,8 @@ func _ready() -> void: snap_zone.has_picked_up.connect(_makeDirty) func _makeDirty(item) -> void: - if not NetworkManager.owns_world(): - return + #if not NetworkManager.owns_world(): + #return var plate: PlateController = item.get_node_or_null("PlateController") as PlateController if not plate: print("Dirt Station: held object is not a Plate") diff --git a/Stations/dirt_station.tscn b/Stations/dirt_station.tscn index d9f5858..243bf21 100644 --- a/Stations/dirt_station.tscn +++ b/Stations/dirt_station.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://cnjwtnhwh0i8q"] -[ext_resource type="Script" uid="uid://q7tpwmrbmu1m" path="res://Stations/dirt_station.gd" id="1_hc1d4"] +[ext_resource type="Script" uid="uid://q7tpwmrbmu1m" path="res://stations/dirt_station.gd" id="1_hc1d4"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_v0ytd"] [sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] diff --git a/Stations/hob.gd b/Stations/hob.gd index cbde497..e35ca7b 100644 --- a/Stations/hob.gd +++ b/Stations/hob.gd @@ -1,6 +1,6 @@ extends StaticBody3D -const RECIPE_MANAGER = preload("res://RecipeManager.gd") +const RECIPE_MANAGER = preload("res://scripts/recipe_Manager.gd") @export var cook_speed = 1 @onready var snap_zone: XRToolsSnapZone = $XRToolsSnapZone @@ -70,7 +70,7 @@ func _refresh_display() -> void: func _on_object_picked_up(_item) -> void: print("Hob: object picked up: ", _item) - # Find the CookableItem in held object + # Find the FoodItem in held object var _food_item = _item.get_node_or_null("FoodItem") as FoodItem if not _food_item: print("Hob: held object is not a FoodItem") @@ -94,8 +94,8 @@ func _on_object_dropped() -> void: func convert_held_to_item(_item: String) -> void: - if not NetworkManager.owns_world(): - return + #if not NetworkManager.owns_world(): + #return print("Hob converting ", _item) var old_pickable = snap_zone.picked_up_object @@ -106,12 +106,15 @@ func convert_held_to_item(_item: String) -> void: # Spawn the new item through the server so it replicates to every peer # (including late joiners), in the old item's position. var original_transform = old_pickable.global_transform - var new_scene_instance = NetworkManager.spawn_item(RECIPE_MANAGER.get_item_scene(_item).resource_path, original_transform) - + #var new_scene_instance = NetworkManager.spawn_item(RECIPE_MANAGER.get_item_scene(_item).resource_path, original_transform) + var new_scene_instance = RECIPE_MANAGER.get_item_scene(_item).instantiate() + get_tree().root.add_child(new_scene_instance) + new_scene_instance.transform = original_transform + # Drop and free the old item and pick up the new one print("Hob freeing old_pickable ", old_pickable) snap_zone.drop_object() - NetworkManager.despawn_item(old_pickable) + old_pickable.queue_free() snap_zone.pick_up_object(new_scene_instance) diff --git a/Stations/item_dispenser.gd b/Stations/item_dispenser.gd index 39a09e2..9a99d37 100644 --- a/Stations/item_dispenser.gd +++ b/Stations/item_dispenser.gd @@ -13,8 +13,11 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - if not NetworkManager.owns_world(): - return + #if not NetworkManager.owns_world(): + #return if not snap_zone.picked_up_object: - var new_item = NetworkManager.spawn_item(item_scene.resource_path, snap_zone.global_transform) + #var new_item = NetworkManager.spawn_item(item_scene.resource_path, snap_zone.global_transform) + var new_item = item_scene.instantiate() + get_tree().root.add_child(new_item) + new_item.transform = snap_zone.global_transform snap_zone.pick_up_object(new_item) diff --git a/Stations/plate_dispenser.tscn b/Stations/plate_dispenser.tscn index 1c88687..a0b945b 100644 --- a/Stations/plate_dispenser.tscn +++ b/Stations/plate_dispenser.tscn @@ -1,9 +1,9 @@ [gd_scene format=3 uid="uid://ck5tuftqmyiue"] -[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://Stations/item_dispenser.gd" id="1_jm0ik"] -[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://Containers/plate.tscn" id="2_tfo2i"] +[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://stations/item_dispenser.gd" id="1_jm0ik"] +[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://containers/plate.tscn" id="2_tfo2i"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_lr065"] -[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://Prefabs/slide_off_dome.tscn" id="4_tfo2i"] +[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="4_tfo2i"] [sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"] radius = 0.3 diff --git a/Stations/raw_burger_dispenser.tscn b/Stations/raw_burger_dispenser.tscn index 2c1a532..30ff7d5 100644 --- a/Stations/raw_burger_dispenser.tscn +++ b/Stations/raw_burger_dispenser.tscn @@ -1,10 +1,10 @@ [gd_scene format=3 uid="uid://cwnwo4i28upap"] -[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://Stations/item_dispenser.gd" id="1_gkb3v"] -[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://Items/burger.tscn" id="2_mep2a"] +[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://stations/item_dispenser.gd" id="1_gkb3v"] +[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://items/burger.tscn" id="2_mep2a"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_3xuvi"] -[ext_resource type="Texture2D" uid="uid://cexxfyw03hr81" path="res://Textures/1.png" id="4_1f5le"] -[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://Prefabs/slide_off_dome.tscn" id="5_mep2a"] +[ext_resource type="Texture2D" uid="uid://cexxfyw03hr81" path="res://textures/1.png" id="4_1f5le"] +[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_mep2a"] [sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"] radius = 0.3 diff --git a/Stations/sink.tscn b/Stations/sink.tscn index 01f2933..9d123c6 100644 --- a/Stations/sink.tscn +++ b/Stations/sink.tscn @@ -1,8 +1,8 @@ [gd_scene format=4 uid="uid://dvrk268s7gkxh"] -[ext_resource type="Script" uid="uid://byh5j25mwt3oc" path="res://Stations/sink.gd" id="1_7hh4b"] +[ext_resource type="Script" uid="uid://byh5j25mwt3oc" path="res://stations/sink.gd" id="1_7hh4b"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="2_3ocod"] -[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="4_1pinr"] +[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://ui/progress_bar.tscn" id="4_1pinr"] [sub_resource type="BoxShape3D" id="BoxShape3D_l02yb"] size = Vector3(0.6, 0.9610596, 0.6) diff --git a/Stations/table.gd b/Stations/table.gd index 7446284..0b5fe2b 100644 --- a/Stations/table.gd +++ b/Stations/table.gd @@ -1,7 +1,8 @@ class_name Table extends StaticBody3D -const GAME_MANAGER = preload("res://GameManager.gd") +const GAME_MANAGER = preload("res://scripts/game_manager.gd") + @export var thinking_duration: float = 3.0 @export var primary_duration: float = 60.0 diff --git a/Stations/table.tscn b/Stations/table.tscn index 9640887..f97d746 100644 --- a/Stations/table.tscn +++ b/Stations/table.tscn @@ -1,10 +1,10 @@ [gd_scene format=3 uid="uid://caf0xanmxbshy"] -[ext_resource type="Script" uid="uid://caeikc7e3igkd" path="res://Stations/table.gd" id="1_2vcpj"] -[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1_8j1nt"] -[ext_resource type="AudioStream" uid="uid://clkjwcawdqvta" path="res://Sounds/money.mp3" id="2_jslhm"] -[ext_resource type="AudioStream" uid="uid://daiv8ubwdbidf" path="res://Sounds/220195__gameaudio__click-wooden-1.wav" id="3_0s6ir"] -[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="3_kjf1i"] +[ext_resource type="Script" uid="uid://caeikc7e3igkd" path="res://stations/table.gd" id="1_aecp7"] +[ext_resource type="AudioStream" uid="uid://clkjwcawdqvta" path="res://sounds/money.mp3" id="2_5mi7y"] +[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_03yai"] +[ext_resource type="AudioStream" uid="uid://daiv8ubwdbidf" path="res://sounds/220195__gameaudio__click-wooden-1.wav" id="4_grjry"] +[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://ui/progress_bar.tscn" id="5_sldpd"] [sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] size = Vector3(0.6, 1, 0.6) @@ -27,8 +27,8 @@ properties/2/spawn = true properties/2/replication_mode = 1 [node name="Table" type="StaticBody3D" unique_id=1863572470 groups=["station"]] -script = ExtResource("1_2vcpj") -money_sound = ExtResource("2_jslhm") +script = ExtResource("1_aecp7") +money_sound = ExtResource("2_5mi7y") [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=228053941] shape = SubResource("BoxShape3D_24d3s") @@ -37,8 +37,8 @@ shape = SubResource("BoxShape3D_24d3s") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31874347, 0.5270121, 0) collision_layer = 65536 collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") +script = ExtResource("3_03yai") +stash_sound = ExtResource("4_grjry") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" @@ -53,8 +53,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.34755045, 0.5270121, 0) collision_layer = 65536 collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") +script = ExtResource("3_03yai") +stash_sound = ExtResource("4_grjry") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" @@ -69,8 +69,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.012355864, 0.5270121, 0.33038777) collision_layer = 65536 collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") +script = ExtResource("3_03yai") +stash_sound = ExtResource("4_grjry") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" @@ -85,8 +85,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.022546828, 0.5270121, -0.36528283) collision_layer = 65536 collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") +script = ExtResource("3_03yai") +stash_sound = ExtResource("4_grjry") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" @@ -192,7 +192,7 @@ text = "20.1s" [node name="Sync" type="MultiplayerSynchronizer" parent="." unique_id=2000411505] replication_config = SubResource("SceneReplicationConfig_np_table") -[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("3_kjf1i")] +[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("5_sldpd")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3676775, 0) y_billboard = true diff --git a/TODO.md b/TODO.md deleted file mode 100644 index c552897..0000000 --- a/TODO.md +++ /dev/null @@ -1,59 +0,0 @@ - - - -- Move recipes into a Yaml file that is read, and handles symetry through a Static manager class? - A `FoodItem` has an ID. - Example: - ```yaml - combining: # The combinging of two items, entries always have a list of exactly two items - cooked_burger: - - cooked_burger - - burger_buns - dough: - - flour - - water - - cooking: - cooked_burger: - ingredient: raw_burger - time: 3 - charcoal: - ingredient: cooked_burger - time: 4 - charcoal: - ingredient: toast - time: 2 - - augmenting: # Process of adding an item onto another without changing it's type, but toggling attributes. - cooked_burger: - has_tomato: sliced_tomato - has_cheese: cheese - salad: - has_tomato: sliced_tomato - has_olives: olives - - chopping: - salad: - ingredient: lettuce - work: 50 # Wave arms faster makes work go faster - - rolling: - pie_base: - ingredient: dough - work: 80 - ``` - ```py - on_area_enter(other): - var result = RecipeManager.getCombination(my_id, other_id) - if result: - convertInto(result) - ``` - -- Counters are stations like hobs that convert items by chopping, rolling ect depending on `RecipeManager`, - and only converts items after hand gestures are done enough? - -- Plates are lists of `FoodItems`? - Plate[`Hamburger`] accepts `Chips` => Plate[`Hamburger`, `Chips`] - Plate[`Hamburger`, `Chips`] accepts `Cheese` => Plate[`Hamburger(Cheese=true)`, `Chips`] - The logic for combining has to be expanded for plates. -- Plates have a property `is_dirty` they get after a customer clears the plate, and is disabled after being processed in `Sink` diff --git a/Textures/1.png.import b/Textures/1.png.import index 4c77b67..14b7a2c 100644 --- a/Textures/1.png.import +++ b/Textures/1.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://cexxfyw03hr81" -path.s3tc="res://.godot/imported/1.png-1282cd758f0d245fa29065df8c6fe28d.s3tc.ctex" +path.s3tc="res://.godot/imported/1.png-28d6e3d31e46c95f0dea1abf906c0f74.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://Textures/1.png" -dest_files=["res://.godot/imported/1.png-1282cd758f0d245fa29065df8c6fe28d.s3tc.ctex"] +source_file="res://textures/1.png" +dest_files=["res://.godot/imported/1.png-28d6e3d31e46c95f0dea1abf906c0f74.s3tc.ctex"] [params] diff --git a/Textures/2.png.import b/Textures/2.png.import index f327517..ec614db 100644 --- a/Textures/2.png.import +++ b/Textures/2.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://cxsy4fi0iv1dx" -path.s3tc="res://.godot/imported/2.png-58b544529b3c8efe890c8b21f147e810.s3tc.ctex" +path.s3tc="res://.godot/imported/2.png-3b4d648e04c4a84e8b8f6c622069553c.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://Textures/2.png" -dest_files=["res://.godot/imported/2.png-58b544529b3c8efe890c8b21f147e810.s3tc.ctex"] +source_file="res://textures/2.png" +dest_files=["res://.godot/imported/2.png-3b4d648e04c4a84e8b8f6c622069553c.s3tc.ctex"] [params] diff --git a/Textures/3.png.import b/Textures/3.png.import index 5357744..3569fbb 100644 --- a/Textures/3.png.import +++ b/Textures/3.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://cxeeadx0c2ygg" -path.s3tc="res://.godot/imported/3.png-ea971c9bd22bfef88dcd66b7417b5707.s3tc.ctex" +path.s3tc="res://.godot/imported/3.png-ff3babb0d8b4fdc49e4a4961a679d180.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://Textures/3.png" -dest_files=["res://.godot/imported/3.png-ea971c9bd22bfef88dcd66b7417b5707.s3tc.ctex"] +source_file="res://textures/3.png" +dest_files=["res://.godot/imported/3.png-ff3babb0d8b4fdc49e4a4961a679d180.s3tc.ctex"] [params] diff --git a/Textures/4.png.import b/Textures/4.png.import index f885416..6f6dc9c 100644 --- a/Textures/4.png.import +++ b/Textures/4.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://xpf60mxi3cf" -path.s3tc="res://.godot/imported/4.png-352134ccf44954619410b58ec193bd16.s3tc.ctex" +path.s3tc="res://.godot/imported/4.png-7c86e7f37dd6d943dc49fdd7899e8cb6.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://Textures/4.png" -dest_files=["res://.godot/imported/4.png-352134ccf44954619410b58ec193bd16.s3tc.ctex"] +source_file="res://textures/4.png" +dest_files=["res://.godot/imported/4.png-7c86e7f37dd6d943dc49fdd7899e8cb6.s3tc.ctex"] [params] diff --git a/Textures/5.png.import b/Textures/5.png.import index 0efc1ce..a3cc8e2 100644 --- a/Textures/5.png.import +++ b/Textures/5.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://b7n8d4krwbcvl" -path.s3tc="res://.godot/imported/5.png-be0d39347a68c1d063c92edeb31b0a20.s3tc.ctex" +path.s3tc="res://.godot/imported/5.png-b386ff019a5e522d985ab44e8f6c88d9.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://Textures/5.png" -dest_files=["res://.godot/imported/5.png-be0d39347a68c1d063c92edeb31b0a20.s3tc.ctex"] +source_file="res://textures/5.png" +dest_files=["res://.godot/imported/5.png-b386ff019a5e522d985ab44e8f6c88d9.s3tc.ctex"] [params] diff --git a/Textures/devTex.svg.import b/Textures/devTex.svg.import index 13740a3..51ac4ab 100644 --- a/Textures/devTex.svg.import +++ b/Textures/devTex.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://eqp04wybmg" -path="res://.godot/imported/devTex.svg-7096dfe1fce7d6bfeb43d4ba1bd108ed.ctex" +path="res://.godot/imported/devTex.svg-246e77b8f216572aac74f8f3d27707b4.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Textures/devTex.svg" -dest_files=["res://.godot/imported/devTex.svg-7096dfe1fce7d6bfeb43d4ba1bd108ed.ctex"] +source_file="res://textures/devTex.svg" +dest_files=["res://.godot/imported/devTex.svg-246e77b8f216572aac74f8f3d27707b4.ctex"] [params] diff --git a/Textures/dev_material_3d.tres b/Textures/dev_material_3d.tres index 85f8d56..5d6b83b 100644 --- a/Textures/dev_material_3d.tres +++ b/Textures/dev_material_3d.tres @@ -1,6 +1,6 @@ [gd_resource type="StandardMaterial3D" format=3 uid="uid://cmia50cfqxxo4"] -[ext_resource type="Texture2D" uid="uid://eqp04wybmg" path="res://Textures/devTex.svg" id="1_3jxsn"] +[ext_resource type="Texture2D" uid="uid://eqp04wybmg" path="res://textures/devTex.svg" id="1_3jxsn"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0gbf8"] transparency = 1 diff --git a/Textures/sky/NightSkyHDRI009.png.import b/Textures/sky/NightSkyHDRI009.png.import index 71240bd..56f8104 100644 --- a/Textures/sky/NightSkyHDRI009.png.import +++ b/Textures/sky/NightSkyHDRI009.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://hfkxs3ncjc4m" -path="res://.godot/imported/NightSkyHDRI009.png-5fecb5274d03e5767c649d4bae381a39.ctex" +path="res://.godot/imported/NightSkyHDRI009.png-30c624de99c676c23642a0e7a463453d.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Textures/sky/NightSkyHDRI009.png" -dest_files=["res://.godot/imported/NightSkyHDRI009.png-5fecb5274d03e5767c649d4bae381a39.ctex"] +source_file="res://textures/sky/NightSkyHDRI009.png" +dest_files=["res://.godot/imported/NightSkyHDRI009.png-30c624de99c676c23642a0e7a463453d.ctex"] [params] diff --git a/Textures/sky/NightSkyHDRI009_16K.tres b/Textures/sky/NightSkyHDRI009_16K.tres index eaa2922..25ff43b 100644 --- a/Textures/sky/NightSkyHDRI009_16K.tres +++ b/Textures/sky/NightSkyHDRI009_16K.tres @@ -1,6 +1,6 @@ [gd_resource type="Sky" format=3 uid="uid://c1abtpwhdm2d5"] -[ext_resource type="Texture2D" uid="uid://ci0hjoabnf8nu" path="res://Textures/sky/NightSkyHDRI009_16K_HDR.exr" id="acg_mft3ic9d"] +[ext_resource type="Texture2D" uid="uid://ci0hjoabnf8nu" path="res://textures/sky/NightSkyHDRI009_16K_HDR.exr" id="acg_mft3ic9d"] [sub_resource type="PanoramaSkyMaterial" id="acg_025sfqr4"] panorama = ExtResource("acg_mft3ic9d") diff --git a/Textures/sky/NightSkyHDRI009_16K_HDR.exr.import b/Textures/sky/NightSkyHDRI009_16K_HDR.exr.import index 2764277..f8a6492 100644 --- a/Textures/sky/NightSkyHDRI009_16K_HDR.exr.import +++ b/Textures/sky/NightSkyHDRI009_16K_HDR.exr.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://ci0hjoabnf8nu" -path.bptc="res://.godot/imported/NightSkyHDRI009_16K_HDR.exr-9a5d77664863ac9d0a6a2889b31099ca.bptc.ctex" +path.bptc="res://.godot/imported/NightSkyHDRI009_16K_HDR.exr-43fd92962b13d105254e11ecfdaf0858.bptc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://Textures/sky/NightSkyHDRI009_16K_HDR.exr" -dest_files=["res://.godot/imported/NightSkyHDRI009_16K_HDR.exr-9a5d77664863ac9d0a6a2889b31099ca.bptc.ctex"] +source_file="res://textures/sky/NightSkyHDRI009_16K_HDR.exr" +dest_files=["res://.godot/imported/NightSkyHDRI009_16K_HDR.exr-43fd92962b13d105254e11ecfdaf0858.bptc.ctex"] [params] diff --git a/Textures/sky/NightSkyHDRI009_16K_TONEMAPPED.jpg.import b/Textures/sky/NightSkyHDRI009_16K_TONEMAPPED.jpg.import index 88ea7c4..e3036f6 100644 --- a/Textures/sky/NightSkyHDRI009_16K_TONEMAPPED.jpg.import +++ b/Textures/sky/NightSkyHDRI009_16K_TONEMAPPED.jpg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://c64om8q11trnm" -path="res://.godot/imported/NightSkyHDRI009_16K_TONEMAPPED.jpg-8d036fe183f31a1e4946600f7e0a089a.ctex" +path="res://.godot/imported/NightSkyHDRI009_16K_TONEMAPPED.jpg-772032c9d36bbd100929d978b6fbe78b.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Textures/sky/NightSkyHDRI009_16K_TONEMAPPED.jpg" -dest_files=["res://.godot/imported/NightSkyHDRI009_16K_TONEMAPPED.jpg-8d036fe183f31a1e4946600f7e0a089a.ctex"] +source_file="res://textures/sky/NightSkyHDRI009_16K_TONEMAPPED.jpg" +dest_files=["res://.godot/imported/NightSkyHDRI009_16K_TONEMAPPED.jpg-772032c9d36bbd100929d978b6fbe78b.ctex"] [params] diff --git a/UI/game_over_panel.gd b/UI/game_over_panel.gd index 8fc3e3e..ceeb3e5 100644 --- a/UI/game_over_panel.gd +++ b/UI/game_over_panel.gd @@ -1,8 +1,7 @@ extends Control @onready var _Restart_btn: Button = %Restart -const GAME_MANAGER = preload("res://GameManager.gd") - +const GAME_MANAGER = preload("res://scripts/game_manager.gd") func _ready() -> void: _Restart_btn.pressed.connect(_restart) diff --git a/UI/main_menu_panel.tscn b/UI/main_menu_panel.tscn index 07d0e08..91e4d9f 100644 --- a/UI/main_menu_panel.tscn +++ b/UI/main_menu_panel.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=3] +[gd_scene format=3] -[ext_resource type="Script" path="res://UI/main_menu_panel.gd" id="1_panel"] +[ext_resource type="Script" uid="uid://crs47shds8bm4" path="res://ui/main_menu_panel.gd" id="1_panel"] [node name="MainMenuPanel" type="Control"] layout_mode = 3 diff --git a/UI/progress_bar.tscn b/UI/progress_bar.tscn index 3e86b08..d3c2509 100644 --- a/UI/progress_bar.tscn +++ b/UI/progress_bar.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://bxbocxdaayvwx"] -[ext_resource type="Script" uid="uid://bv7oracwmgre8" path="res://UI/progress_bar_3d.gd" id="1_ng8tm"] +[ext_resource type="Script" uid="uid://bv7oracwmgre8" path="res://ui/progress_bar_3d.gd" id="1_ng8tm"] [sub_resource type="ViewportTexture" id="ViewportTexture_copv3"] viewport_path = NodePath("Sprite3D/SubViewport") diff --git a/project.godot b/project.godot index 16b6ec2..cb8b9c2 100644 --- a/project.godot +++ b/project.godot @@ -19,7 +19,6 @@ config/icon="res://icon.svg" XRToolsUserSettings="*uid://bqgb8i74tm0t" XRToolsRumbleManager="*uid://by853dk86g1qw" -NetworkManager="*res://Net/network_manager.gd" GlobalKeyEvents="*uid://c60unagog5oi1" Signals="*uid://fuux6cxfjwdc" diff --git a/recipes.yaml.uid b/recipes.yaml.uid new file mode 100644 index 0000000..3785c41 --- /dev/null +++ b/recipes.yaml.uid @@ -0,0 +1 @@ +uid://b5y4a58f517wi diff --git a/Scenes/add_spawnables.gd b/scripts/add_spawnables.gd similarity index 100% rename from Scenes/add_spawnables.gd rename to scripts/add_spawnables.gd diff --git a/Scenes/add_spawnables.gd.uid b/scripts/add_spawnables.gd.uid similarity index 100% rename from Scenes/add_spawnables.gd.uid rename to scripts/add_spawnables.gd.uid diff --git a/GameManager.gd b/scripts/game_manager.gd similarity index 100% rename from GameManager.gd rename to scripts/game_manager.gd diff --git a/GameManager.gd.uid b/scripts/game_manager.gd.uid similarity index 100% rename from GameManager.gd.uid rename to scripts/game_manager.gd.uid diff --git a/global_key_events.gd b/scripts/global_key_events.gd similarity index 100% rename from global_key_events.gd rename to scripts/global_key_events.gd diff --git a/global_key_events.gd.uid b/scripts/global_key_events.gd.uid similarity index 100% rename from global_key_events.gd.uid rename to scripts/global_key_events.gd.uid diff --git a/main.gd b/scripts/main.gd similarity index 74% rename from main.gd rename to scripts/main.gd index c40a985..fe40149 100644 --- a/main.gd +++ b/scripts/main.gd @@ -1,11 +1,12 @@ extends Node3D -const RECIPE_MANAGER = preload("res://RecipeManager.gd") -const GAME_MANAGER = preload("res://GameManager.gd") +const RECIPE_MANAGER = preload("res://scripts/recipe_Manager.gd") +const GAME_MANAGER = preload("res://scripts/game_manager.gd") var xr_interface :XRInterface func _ready(): + print("main: _ready") RECIPE_MANAGER.print_all_recipes() GAME_MANAGER.meals_in_play = ["hamburger"] diff --git a/main.gd.uid b/scripts/main.gd.uid similarity index 100% rename from main.gd.uid rename to scripts/main.gd.uid diff --git a/RecipeManager.gd b/scripts/recipe_Manager.gd similarity index 99% rename from RecipeManager.gd rename to scripts/recipe_Manager.gd index 8681ac7..efa2fab 100644 --- a/RecipeManager.gd +++ b/scripts/recipe_Manager.gd @@ -1,4 +1,3 @@ -class_name RecipeManager extends Node static var _recipes: Dictionary diff --git a/scripts/recipe_Manager.gd.uid b/scripts/recipe_Manager.gd.uid new file mode 100644 index 0000000..49bec16 --- /dev/null +++ b/scripts/recipe_Manager.gd.uid @@ -0,0 +1 @@ +uid://0sdqbyuuokds diff --git a/Signals.gd b/scripts/signals.gd similarity index 100% rename from Signals.gd rename to scripts/signals.gd diff --git a/Signals.gd.uid b/scripts/signals.gd.uid similarity index 100% rename from Signals.gd.uid rename to scripts/signals.gd.uid diff --git a/test/multiPlayerTest.tscn b/test/multi_player_test.tscn similarity index 91% rename from test/multiPlayerTest.tscn rename to test/multi_player_test.tscn index e9e4a38..cf015ad 100644 --- a/test/multiPlayerTest.tscn +++ b/test/multi_player_test.tscn @@ -1,17 +1,17 @@ [gd_scene format=3 uid="uid://bodj8op527o2c"] -[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Scenes/multiplayer_world.gd" id="1_6uucx"] -[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_j7vd1"] -[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://Textures/dev_material_3d.tres" id="3_ssbaf"] -[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://Textures/sky/NightSkyHDRI009_16K.tres" id="4_081u3"] -[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://Stations/Hob.tscn" id="5_t1fa7"] -[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://Stations/sink.tscn" id="6_6jhmh"] -[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://Containers/plate.tscn" id="7_bowes"] -[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://Stations/dirt_station.tscn" id="8_pvl84"] +[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Net/DEPRICATED_multiplayer_world.gd" id="1_6uucx"] +[ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/xr_origin.tscn" id="2_j7vd1"] +[ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="3_ssbaf"] +[ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="4_081u3"] +[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="5_t1fa7"] +[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="6_6jhmh"] +[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://containers/plate.tscn" id="7_bowes"] +[ext_resource type="PackedScene" uid="uid://cnjwtnhwh0i8q" path="res://stations/dirt_station.tscn" id="8_pvl84"] [ext_resource type="Script" uid="uid://biu4qr3nr1eny" path="res://test/mp_test_driver.gd" id="9_mptst"] -[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://Items/burger.tscn" id="10_51k0c"] -[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://Items/BurgerBuns.tscn" id="11_psgbv"] -[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://Stations/Counter.tscn" id="12_j5uvh"] +[ext_resource type="PackedScene" uid="uid://dpot5qie20vf6" path="res://items/burger.tscn" id="10_51k0c"] +[ext_resource type="PackedScene" uid="uid://c0lknik4noobs" path="res://items/burger_buns.tscn" id="11_psgbv"] +[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="12_j5uvh"] [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] size = Vector3(15, 0.1, 15) diff --git a/Scenes/testworldLoad.gd b/test/testworld_load.gd similarity index 100% rename from Scenes/testworldLoad.gd rename to test/testworld_load.gd diff --git a/Scenes/testworldLoad.gd.uid b/test/testworld_load.gd.uid similarity index 100% rename from Scenes/testworldLoad.gd.uid rename to test/testworld_load.gd.uid