Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f01e20700 | |||
| 4242325c8a | |||
| 48c9845624 | |||
| 3d616bf4a5 | |||
| 89e72c161b | |||
| a606a2f93f | |||
| 0826f29265 | |||
| 8a93ae4816 | |||
| 257c838255 | |||
| 58e7792b62 | |||
| 8733d59084 | |||
| e4403e4a50 | |||
| 19207e7f72 | |||
| e9a7786cab | |||
| 9cdf0fc787 | |||
| d71f3824cf | |||
| dfc081de3b |
@@ -1,8 +1,6 @@
|
||||
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] = []
|
||||
@@ -29,8 +27,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")
|
||||
@@ -92,7 +90,11 @@ func _add_item(item: Node3D) -> void:
|
||||
updated.append(food_node.id)
|
||||
plate_controller.contained_ids = updated
|
||||
|
||||
item.queue_free()
|
||||
NetworkManager.despawn_item(item)
|
||||
# In case the container is on a table that needs to register this addition,
|
||||
# ask all table in scene to absorb any new items.
|
||||
print("Container group call absorb_items()")
|
||||
get_tree().call_group("table", "absorb_items")
|
||||
|
||||
|
||||
func erase_item(item: FoodItem) -> void:
|
||||
@@ -124,7 +126,7 @@ func refresh_visuals(ids: Array[String]) -> void:
|
||||
var meal_idx := 0
|
||||
var side_idx := 0
|
||||
for id in ids:
|
||||
var scene := RECIPE_MANAGER.get_item_scene(id)
|
||||
var scene := RecipeManager.get_item_scene(id)
|
||||
if not scene:
|
||||
continue
|
||||
var visual := scene.instantiate()
|
||||
@@ -197,7 +199,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:
|
||||
despawning_item.queue_free()
|
||||
NetworkManager.despawn_item(despawning_item)
|
||||
|
||||
|
||||
#plate (Pickalbe)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
[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"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_vlcpl"]
|
||||
[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_el51w"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_kek77"]
|
||||
height = 0.0635376
|
||||
@@ -49,6 +49,7 @@ collision_layer = 4
|
||||
collision_mask = 196615
|
||||
freeze_mode = 1
|
||||
script = ExtResource("1_nq5sa")
|
||||
second_hand_grab = 1
|
||||
|
||||
[node name="PlateController" type="Node" parent="." unique_id=1503264193]
|
||||
script = ExtResource("1_vjsmi")
|
||||
|
||||
@@ -13,6 +13,8 @@ extends Node
|
||||
## the cosmetic result via the setter below.
|
||||
@export var contained_ids: Array[String] = []: set = _set_contained_ids
|
||||
|
||||
func get_food_items() -> Array[FoodItem]:
|
||||
return container.contained_items
|
||||
|
||||
func _ready() -> void:
|
||||
if not dirty_node:
|
||||
|
||||
@@ -11,7 +11,7 @@ enum GameState {
|
||||
}
|
||||
static var game_state: GameState = GameState.RUNNING
|
||||
|
||||
|
||||
|
||||
static func _restart():
|
||||
print("restart Game")
|
||||
game_state = GameState.RUNNING
|
||||
@@ -27,15 +27,15 @@ static func get_random_meal() -> String:
|
||||
|
||||
|
||||
static func get_random_side() -> String:
|
||||
print("GameManager: get_random_side() ")
|
||||
if sides_in_play.size() == 0:
|
||||
push_error("GameManager: get_random_side() called but sides_in_play is empty")
|
||||
return ""
|
||||
var rand_index = randi() % sides_in_play.size()
|
||||
print("GameManager: get_random_side() returning ", sides_in_play[rand_index])
|
||||
print("GameManager: get_random_side() list=%s returning %s" % [sides_in_play, sides_in_play[rand_index]])
|
||||
return sides_in_play[rand_index]
|
||||
|
||||
|
||||
|
||||
static func game_over():
|
||||
print("Game Over")
|
||||
game_state = GameState.GAME_OVER
|
||||
@@ -9,7 +9,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="7_wb51u"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="8_t9y3x"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_46e7r"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_vlqg6"]
|
||||
height = 0.10708985
|
||||
@@ -40,6 +40,7 @@ properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="BurgerBuns" unique_id=1088240294 instance=ExtResource("1_g1t48")]
|
||||
second_hand_grab = 1
|
||||
|
||||
[node name="CollisionShape3D" parent="." index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05776599, 0)
|
||||
+2
-1
@@ -9,7 +9,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="7_mde49"]
|
||||
[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="8_wmrff"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_6ypk4"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_gkni8"]
|
||||
height = 0.1
|
||||
@@ -46,6 +46,7 @@ properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="PickableObject" unique_id=1675596942 instance=ExtResource("1_r73y2")]
|
||||
second_hand_grab = 1
|
||||
|
||||
[node name="CollisionShape3D" parent="." index="0"]
|
||||
shape = SubResource("CylinderShape3D_gkni8")
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="7_bdp75"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_uygc5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="11_vjw41"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"]
|
||||
size = Vector3(0.1, 0.1, 0.1)
|
||||
@@ -43,6 +43,7 @@ properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="PickableObject" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_dbtw8")]
|
||||
second_hand_grab = 1
|
||||
|
||||
[node name="CollisionShape3D" parent="." index="0"]
|
||||
shape = SubResource("BoxShape3D_m1xbq")
|
||||
|
||||
+2
-1
@@ -9,7 +9,7 @@
|
||||
[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="7_wqxjj"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_l4hsd"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="10_yxtxs"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"]
|
||||
height = 0.0338974
|
||||
@@ -40,6 +40,7 @@ properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="raw_burger" unique_id=1675596942 instance=ExtResource("1_fco8w")]
|
||||
second_hand_grab = 1
|
||||
|
||||
[node name="CollisionShape3D" parent="." index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00077831745, 0)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="10_6p8pj"]
|
||||
[ext_resource type="PackedScene" uid="uid://3lr2dhy62rhk" path="res://prefabs/combinable_item.tscn" id="10_ut7mg"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="10_zz42p"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"]
|
||||
[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"]
|
||||
height = 0.04777527
|
||||
@@ -40,6 +40,7 @@ properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="CookedBurger" unique_id=1675596942 instance=ExtResource("1_ut7mg")]
|
||||
second_hand_grab = 1
|
||||
|
||||
[node name="CollisionShape3D" parent="." index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0072289705, 0)
|
||||
|
||||
+20
-19
@@ -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_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"]
|
||||
[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"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"]
|
||||
height = 0.10392761
|
||||
radius = 0.096191406
|
||||
|
||||
[sub_resource type="Resource" id="Resource_lc22d"]
|
||||
script = ExtResource("4_bejy7")
|
||||
closed_pose = ExtResource("3_d4y38")
|
||||
script = ExtResource("4_cljtj")
|
||||
closed_pose = ExtResource("3_6tnvi")
|
||||
metadata/_custom_type_script = "uid://dvobm6vcfnqe8"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qyiot"]
|
||||
script = ExtResource("4_bejy7")
|
||||
closed_pose = ExtResource("6_jq7iw")
|
||||
script = ExtResource("4_cljtj")
|
||||
closed_pose = ExtResource("6_fh0f6")
|
||||
metadata/_custom_type_script = "uid://dvobm6vcfnqe8"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3gf3l"]
|
||||
@@ -41,18 +41,19 @@ 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_gu23e")]
|
||||
[node name="Hamburger" unique_id=1675596942 groups=["platalbe_item"] instance=ExtResource("1_3gf3l")]
|
||||
gravity_scale = 0.04
|
||||
second_hand_grab = 1
|
||||
|
||||
[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_l78s7")]
|
||||
[node name="GrabPointHandLeft" parent="." index="1" unique_id=1571481674 instance=ExtResource("2_0mkco")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.067650706, 0.04601878, -0.08606844)
|
||||
hand_pose = SubResource("Resource_lc22d")
|
||||
|
||||
[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634 instance=ExtResource("5_cu6ps")]
|
||||
[node name="GrabPointHandRight" parent="." index="2" unique_id=514404634 instance=ExtResource("5_dunns")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06531982, 0.042291984, -0.08604182)
|
||||
hand_pose = SubResource("Resource_qyiot")
|
||||
|
||||
@@ -90,13 +91,13 @@ height = 0.03
|
||||
sides = 16
|
||||
material = SubResource("StandardMaterial3D_6l01i")
|
||||
|
||||
[node name="FoodItem" parent="." index="5" unique_id=63948206 instance=ExtResource("7_fn8yh")]
|
||||
[node name="FoodItem" parent="." index="5" unique_id=63948206 instance=ExtResource("7_yy3y8")]
|
||||
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("8_f6bya")
|
||||
script = ExtResource("20_netpk")
|
||||
|
||||
[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("9_4uadj")]
|
||||
[node name="DespawningItem" parent="." index="7" unique_id=303090111 instance=ExtResource("9_ej8jm")]
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
extends MultiplayerSpawner
|
||||
|
||||
@export var kitchen_scene: PackedScene
|
||||
|
||||
func _ready() -> void:
|
||||
if not kitchen_scene:
|
||||
push_error("StationSpawner missing kitchen_scene")
|
||||
if NetworkManager.is_server():
|
||||
|
||||
# Later we will do procedural generation here.
|
||||
# For now we just load a scene.
|
||||
var kitchen = kitchen_scene.instantiate()
|
||||
get_node(spawn_path).add_child(kitchen)
|
||||
@@ -1 +0,0 @@
|
||||
uid://dw3bfum87xs55
|
||||
@@ -0,0 +1,155 @@
|
||||
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": {}}
|
||||
@@ -0,0 +1 @@
|
||||
uid://donvkica3drtx
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene format=3]
|
||||
[gd_scene load_steps=5 format=3]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bncuxh7j7ix5q" path="res://player/net_player.gd" id="1_np001"]
|
||||
[ext_resource type="Script" 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"]
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class_name CombinableItem
|
||||
extends Node
|
||||
|
||||
const RECIPE_MANAGER = preload("res://scripts/recipe_Manager.gd")
|
||||
const RECIPE_MANAGER = preload("res://RecipeManager.gd")
|
||||
|
||||
@onready var combine_area_3d: Area3D = $Area3d
|
||||
@onready var _pickable: XRToolsPickable = get_parent() as XRToolsPickable
|
||||
@@ -51,13 +51,13 @@ 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
|
||||
|
||||
var other := _find_food_item(body)
|
||||
var other := Helper.find_food_item(body)
|
||||
if not other:
|
||||
print("CombinableItem _on_body_entered: other is not a foodItem")
|
||||
return
|
||||
@@ -71,7 +71,7 @@ func _on_body_entered(body: Node3D) -> void:
|
||||
|
||||
# Instantiate the result of combination and free the two ingredient items
|
||||
func _combine(other_body: Node3D, result: PackedScene) -> void:
|
||||
print("CombinableItem _combine: combining %s + %s into %s" % [_food_item.id, _find_food_item(other_body).id, result.resource_path])
|
||||
print("CombinableItem _combine: combining %s + %s into %s" % [_food_item.id, Helper.find_food_item(other_body).id, result.resource_path])
|
||||
|
||||
# Get Snapzone
|
||||
var snap_zone := _pickable.get_picked_up_by()
|
||||
@@ -81,26 +81,13 @@ 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 = result.instantiate()
|
||||
get_tree().root.add_child(result_instance)
|
||||
result_instance.transform = base_transform
|
||||
|
||||
var result_instance: Node3D = NetworkManager.spawn_item(result.resource_path, base_transform)
|
||||
|
||||
# Free the pickable / root of this item and consume the incoming item.
|
||||
snap_zone.drop_object()
|
||||
_pickable.queue_free()
|
||||
NetworkManager.despawn_item(_pickable)
|
||||
other_body.drop()
|
||||
other_body.queue_free()
|
||||
NetworkManager.despawn_item(other_body)
|
||||
|
||||
# Snap the result into the now-empty zone.
|
||||
snap_zone.pick_up_object(result_instance)
|
||||
|
||||
|
||||
# Find a FoodItem among the direct children of [param node].
|
||||
func _find_food_item(node: Node) -> FoodItem:
|
||||
if not node:
|
||||
return null
|
||||
for child in node.get_children():
|
||||
if child is FoodItem:
|
||||
return child
|
||||
return null
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://coidnv8b2yvxr
|
||||
@@ -0,0 +1,9 @@
|
||||
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.")
|
||||
@@ -0,0 +1 @@
|
||||
uid://bs7cxydoxk1cx
|
||||
@@ -0,0 +1,9 @@
|
||||
[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")
|
||||
@@ -28,13 +28,13 @@ 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):
|
||||
_time_left = time_to_despawn
|
||||
get_parent().visible(true)
|
||||
_set_visible(true)
|
||||
return
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ func _process(delta: float) -> void:
|
||||
_time_left -= delta
|
||||
if _time_left <= 0:
|
||||
print("DespawningItem despawning!" , get_parent())
|
||||
get_parent().queue_free()
|
||||
NetworkManager.despawn_item(get_parent())
|
||||
# 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)
|
||||
@@ -50,4 +50,14 @@ func _process(delta: float) -> void:
|
||||
|
||||
# Make item blink in and out before despawning
|
||||
if _time_left < time_to_despawn / 2:
|
||||
get_parent().visible(int(_time_left * 5.0) % 2 == 0)
|
||||
_set_visible(int(_time_left * 5.0) % 2 == 0)
|
||||
|
||||
|
||||
# `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():
|
||||
get_parent().visible = true
|
||||
return
|
||||
get_parent().visible = value
|
||||
|
||||
@@ -7,3 +7,4 @@ enum Type { MEAL, SIDE, INGREDIENT, NONE }
|
||||
@export var id: String
|
||||
@export var type: Type = Type.NONE
|
||||
@export var sell_value = 1
|
||||
var is_absorbed = false # Used by tables to keep track of whether the item has been registered as delivered already
|
||||
@@ -0,0 +1,24 @@
|
||||
extends Node3D
|
||||
|
||||
@export var kitchen_scene: PackedScene
|
||||
@export var hob_scene: PackedScene
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
|
||||
if not kitchen_scene:
|
||||
push_error("StationSpawner missing kitchen_scene")
|
||||
|
||||
print("Kitchen init")
|
||||
|
||||
if NetworkManager.owns_world():
|
||||
print("Kitchen init is_server")
|
||||
# Later we will do procedural generation here.
|
||||
# For now we just load a scene.
|
||||
NetworkManager.call_deferred("spawn_item", kitchen_scene.resource_path, transform)
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("satisfy_table_orders"):
|
||||
var trans: Transform3D = transform
|
||||
trans.origin += Vector3(-1.2, 0, 0)
|
||||
NetworkManager.call_deferred("spawn_item", hob_scene.resource_path, trans)
|
||||
@@ -0,0 +1 @@
|
||||
uid://fyd2rjramhbb
|
||||
@@ -0,0 +1,9 @@
|
||||
[gd_scene format=3 uid="uid://t83yi6hxti2x"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://fyd2rjramhbb" path="res://prefabs/kitchen_instantiator.gd" id="1_jitfr"]
|
||||
[ext_resource type="PackedScene" uid="uid://damrxtlt7uswf" path="res://content/station_layouts/small_line.tscn" id="2_3awg0"]
|
||||
|
||||
[node name="KitchenInstantiator" type="Node3D" unique_id=291701321]
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0, 0)
|
||||
script = ExtResource("1_jitfr")
|
||||
kitchen_scene = ExtResource("2_3awg0")
|
||||
@@ -1,3 +1,4 @@
|
||||
class_name RecipeManager
|
||||
extends Node
|
||||
|
||||
static var _recipes: Dictionary
|
||||
@@ -0,0 +1 @@
|
||||
uid://cuo88u56uqwuy
|
||||
+7
-7
@@ -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`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[gd_scene format=3 uid="uid://22shbqdvnwgo"]
|
||||
|
||||
[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="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"]
|
||||
@@ -13,10 +13,10 @@
|
||||
[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="Script" uid="uid://k8ywnvlhcic4" path="res://scenes/testworldLoad.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://prefabs/game_over_controler.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://scenes/GameOvercontroler.gd" id="19_3lufs"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
size = Vector3(16, 0.1, 16)
|
||||
@@ -0,0 +1,473 @@
|
||||
[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="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="7_n8fyw"]
|
||||
[ext_resource type="PackedScene" uid="uid://q37nqadkibbp" path="res://scenes/door.tscn" id="10_l51r2"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3m2ag8g5rj4r" path="res://items/hamburger.tscn" id="11_c8vo7"]
|
||||
[ext_resource type="PackedScene" uid="uid://da6yrsnxvsrif" path="res://scenes/wall.tscn" id="11_slo47"]
|
||||
[ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://Containers/plate.tscn" id="12_1f3bw"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbg7dwsbxxh1t" path="res://scenes/cube_side_dispense.tscn" id="12_57ppd"]
|
||||
[ext_resource type="PackedScene" uid="uid://dlw5geheupgpt" path="res://stations/hatch.tscn" id="12_dpf3b"]
|
||||
[ext_resource type="PackedScene" uid="uid://e4i6o5oriecx" path="res://items/PickupCube.tscn" id="13_1f3bw"]
|
||||
[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="13_yjosk"]
|
||||
[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="14_2ndvi"]
|
||||
[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://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://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="15_qxyk8"]
|
||||
[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://scenes/GameOvercontroler.gd" id="16_n8fyw"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="16_u5c1m"]
|
||||
[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="17_y7baw"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="18_wvcs1"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_bvwq1"]
|
||||
background_mode = 2
|
||||
sky = ExtResource("7_n8fyw")
|
||||
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("3_irf4n")
|
||||
size = Vector3(20, 0.1, 20)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
||||
size = Vector3(20, 10, 0.1)
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_vlqg6"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"]
|
||||
albedo_color = Color(0.35, 0.12250001, 0.12250001, 1)
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_vlqg6"]
|
||||
material = SubResource("StandardMaterial3D_24d3s")
|
||||
size = Vector2(6, 10)
|
||||
center_offset = Vector3(3, 0, 0)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yqrpd"]
|
||||
albedo_color = Color(0.35, 0.35, 0.35, 1)
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_kk3mq"]
|
||||
material = SubResource("StandardMaterial3D_yqrpd")
|
||||
size = Vector2(6, 10)
|
||||
center_offset = Vector3(-3, 0, 0)
|
||||
|
||||
[node name="Main" type="Node3D" unique_id=1312265607]
|
||||
script = ExtResource("1_57ppd")
|
||||
|
||||
[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")]
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -1.8943893, 0.9667189, -4.301105)
|
||||
|
||||
[node name="WorldContent" type="Node3D" parent="." unique_id=262398468]
|
||||
|
||||
[node name="Players" type="Node3D" parent="." unique_id=1772076868]
|
||||
|
||||
[node name="Stations" type="Node3D" parent="." unique_id=730717613]
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.8000001, 0, 1.8000001)
|
||||
|
||||
[node name="ItemsSpawner" type="MultiplayerSpawner" parent="." unique_id=2051771581]
|
||||
_spawnable_scenes = PackedStringArray("uid://cwwnbx5uat3fw")
|
||||
spawn_path = NodePath("../WorldContent")
|
||||
|
||||
[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)
|
||||
|
||||
[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, -0.001, -0.003)
|
||||
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="Counter2" parent="." unique_id=368890752 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -3.9477215, 0.5115016, 1.6896921)
|
||||
|
||||
[node name="Counter4" parent="." unique_id=1748373996 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -3.9477215, 0.5115016, 1.0913646)
|
||||
|
||||
[node name="Counter3" parent="." unique_id=1498817646 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -3.9477215, 0.5115016, 2.2925892)
|
||||
|
||||
[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, -4.428178, 2.8122003, 3)
|
||||
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")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.8484511, 0, 2.9119425)
|
||||
|
||||
[node name="Resturant" type="Node3D" parent="." unique_id=1083608050]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6212463e-05, -0.010500789, 0.0014204979)
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Resturant" unique_id=1814285538]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Resturant/StaticBody3D" unique_id=1661443874]
|
||||
shape = SubResource("WorldBoundaryShape3D_vlqg6")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Resturant" unique_id=888732490]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0.01, 0)
|
||||
mesh = SubResource("PlaneMesh_vlqg6")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="Resturant" unique_id=836421800]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0.01, 0)
|
||||
mesh = SubResource("PlaneMesh_kk3mq")
|
||||
|
||||
[node name="Door" parent="Resturant" unique_id=964400290 instance=ExtResource("10_l51r2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, 0)
|
||||
|
||||
[node name="Walls" type="Node3D" parent="Resturant" unique_id=1804204696]
|
||||
|
||||
[node name="Wall" parent="Resturant/Walls" unique_id=434181749 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6000001, 0, 0)
|
||||
|
||||
[node name="Wall2" parent="Resturant/Walls" unique_id=1183111925 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2, 0, 0)
|
||||
|
||||
[node name="Wall3" parent="Resturant/Walls" unique_id=1561473949 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 0)
|
||||
|
||||
[node name="Wall4" parent="Resturant/Walls" unique_id=1593528497 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.60000014, 0, 0)
|
||||
|
||||
[node name="Wall5" parent="Resturant/Walls" unique_id=2071060763 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3841858e-07, 0, 0)
|
||||
|
||||
[node name="Wall6" parent="Resturant/Walls" unique_id=1607012472 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5999999, 0, 0)
|
||||
|
||||
[node name="Wall7" parent="Resturant/Walls" unique_id=990512055 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="Wall8" parent="Resturant/Walls" unique_id=751907897 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.200001, 0, 0)
|
||||
|
||||
[node name="Wall9" parent="Resturant/Walls" unique_id=358743133 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6000004, 0, 0)
|
||||
|
||||
[node name="Wall10" parent="Resturant/Walls" unique_id=1374842161 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2000002, 0, 0)
|
||||
|
||||
[node name="Wall11" parent="Resturant/Walls" unique_id=1408132826 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, 0)
|
||||
|
||||
[node name="Wall12" parent="Resturant/Walls" unique_id=1937209307 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.60000014, 0, -6)
|
||||
|
||||
[node name="Wall13" parent="Resturant/Walls" unique_id=1714975985 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3841858e-07, 0, -6)
|
||||
|
||||
[node name="Wall14" parent="Resturant/Walls" unique_id=1732121903 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5999999, 0, -6)
|
||||
|
||||
[node name="Wall15" parent="Resturant/Walls" unique_id=1311494308 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2000002, 0, -6)
|
||||
|
||||
[node name="Wall16" parent="Resturant/Walls" unique_id=364484178 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, -6)
|
||||
|
||||
[node name="Wall17" parent="Resturant/Walls" unique_id=485501605 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3999999, 0, -6)
|
||||
|
||||
[node name="Wall18" parent="Resturant/Walls" unique_id=378206350 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.9999998, 0, -6)
|
||||
|
||||
[node name="Wall19" parent="Resturant/Walls" unique_id=294380188 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6, 0, -6)
|
||||
|
||||
[node name="Wall20" parent="Resturant/Walls" unique_id=1122365254 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7999998, 0, -6)
|
||||
|
||||
[node name="Wall21" parent="Resturant/Walls" unique_id=111446334 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1999998, 0, -6)
|
||||
|
||||
[node name="Wall22" parent="Resturant/Walls" unique_id=999769595 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6000001, 0, -6)
|
||||
|
||||
[node name="Wall23" parent="Resturant/Walls" unique_id=1832835858 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0000002, 0, -6)
|
||||
|
||||
[node name="Wall24" parent="Resturant/Walls" unique_id=927052367 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, -6)
|
||||
|
||||
[node name="Wall25" parent="Resturant/Walls" unique_id=1163278593 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2000003, 0, -6)
|
||||
|
||||
[node name="Wall26" parent="Resturant/Walls" unique_id=1074868471 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -6)
|
||||
|
||||
[node name="Wall27" parent="Resturant/Walls" unique_id=510219954 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2, 0, -6)
|
||||
|
||||
[node name="Wall28" parent="Resturant/Walls" unique_id=1615161517 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, -6)
|
||||
|
||||
[node name="Wall29" parent="Resturant/Walls" unique_id=11605666 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.60000014, 0, 6)
|
||||
|
||||
[node name="Wall30" parent="Resturant/Walls" unique_id=2032513926 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3841858e-07, 0, 6)
|
||||
|
||||
[node name="Wall31" parent="Resturant/Walls" unique_id=1308803807 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5999999, 0, 6)
|
||||
|
||||
[node name="Wall32" parent="Resturant/Walls" unique_id=493869823 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2000002, 0, 6)
|
||||
|
||||
[node name="Wall33" parent="Resturant/Walls" unique_id=699535234 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, 6)
|
||||
|
||||
[node name="Wall34" parent="Resturant/Walls" unique_id=238973326 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3999999, 0, 6)
|
||||
|
||||
[node name="Wall35" parent="Resturant/Walls" unique_id=836717647 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.9999998, 0, 6)
|
||||
|
||||
[node name="Wall36" parent="Resturant/Walls" unique_id=446988148 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6, 0, 6)
|
||||
|
||||
[node name="Wall37" parent="Resturant/Walls" unique_id=49950412 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7999998, 0, 6)
|
||||
|
||||
[node name="Wall38" parent="Resturant/Walls" unique_id=607255208 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1999998, 0, 6)
|
||||
|
||||
[node name="Wall39" parent="Resturant/Walls" unique_id=1089866573 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6000001, 0, 6)
|
||||
|
||||
[node name="Wall40" parent="Resturant/Walls" unique_id=2078240231 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0000002, 0, 6)
|
||||
|
||||
[node name="Wall41" parent="Resturant/Walls" unique_id=592669722 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, 6)
|
||||
|
||||
[node name="Wall42" parent="Resturant/Walls" unique_id=1393176200 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2000003, 0, 6)
|
||||
|
||||
[node name="Wall43" parent="Resturant/Walls" unique_id=1885346301 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 6)
|
||||
|
||||
[node name="Wall44" parent="Resturant/Walls" unique_id=2021916640 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2, 0, 6)
|
||||
|
||||
[node name="Wall45" parent="Resturant/Walls" unique_id=1289086279 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 6)
|
||||
|
||||
[node name="Wall46" parent="Resturant/Walls" unique_id=396503450 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 1.2000003)
|
||||
|
||||
[node name="Wall47" parent="Resturant/Walls" unique_id=300373285 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 0.6000004)
|
||||
|
||||
[node name="Wall49" parent="Resturant/Walls" unique_id=1072273787 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 1.8000002)
|
||||
|
||||
[node name="Wall50" parent="Resturant/Walls" unique_id=896022741 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 2.4000006)
|
||||
|
||||
[node name="Wall51" parent="Resturant/Walls" unique_id=2089599721 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -1.7999992)
|
||||
|
||||
[node name="Wall52" parent="Resturant/Walls" unique_id=965479737 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -2.3999996)
|
||||
|
||||
[node name="Wall53" parent="Resturant/Walls" unique_id=43762332 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -3)
|
||||
|
||||
[node name="Wall54" parent="Resturant/Walls" unique_id=921007094 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -1.1999998)
|
||||
|
||||
[node name="Wall55" parent="Resturant/Walls" unique_id=2144411980 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, -0.5999994)
|
||||
|
||||
[node name="Wall56" parent="Resturant/Walls" unique_id=370330637 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 4.2000003)
|
||||
|
||||
[node name="Wall57" parent="Resturant/Walls" unique_id=537562206 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 3.6000004)
|
||||
|
||||
[node name="Wall58" parent="Resturant/Walls" unique_id=1918288432 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 3.0000002)
|
||||
|
||||
[node name="Wall59" parent="Resturant/Walls" unique_id=944759951 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 4.8000007)
|
||||
|
||||
[node name="Wall60" parent="Resturant/Walls" unique_id=1128237563 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 5.4000006)
|
||||
|
||||
[node name="Wall61" parent="Resturant/Walls" unique_id=1755969864 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -3.5999994)
|
||||
|
||||
[node name="Wall62" parent="Resturant/Walls" unique_id=949006312 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -4.2)
|
||||
|
||||
[node name="Wall63" parent="Resturant/Walls" unique_id=1826688195 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -4.799999)
|
||||
|
||||
[node name="Wall64" parent="Resturant/Walls" unique_id=116523059 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -5.3999996)
|
||||
|
||||
[node name="Wall65" parent="Resturant/Walls" unique_id=711153775 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 1.2000003)
|
||||
|
||||
[node name="Wall66" parent="Resturant/Walls" unique_id=741047 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 0.6000004)
|
||||
|
||||
[node name="Wall67" parent="Resturant/Walls" unique_id=664067327 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 1.8000002)
|
||||
|
||||
[node name="Wall68" parent="Resturant/Walls" unique_id=1294537251 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 2.4000006)
|
||||
|
||||
[node name="Wall69" parent="Resturant/Walls" unique_id=1152383 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -1.7999992)
|
||||
|
||||
[node name="Wall70" parent="Resturant/Walls" unique_id=1710172322 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -2.3999996)
|
||||
|
||||
[node name="Wall71" parent="Resturant/Walls" unique_id=597518110 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -3)
|
||||
|
||||
[node name="Wall72" parent="Resturant/Walls" unique_id=1028573693 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -1.1999998)
|
||||
|
||||
[node name="Wall73" parent="Resturant/Walls" unique_id=1232042046 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, -0.5999994)
|
||||
|
||||
[node name="Wall74" parent="Resturant/Walls" unique_id=1159091046 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 4.2000003)
|
||||
|
||||
[node name="Wall75" parent="Resturant/Walls" unique_id=904470924 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 3.6000004)
|
||||
|
||||
[node name="Wall76" parent="Resturant/Walls" unique_id=1709758099 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 3.0000002)
|
||||
|
||||
[node name="Wall77" parent="Resturant/Walls" unique_id=1252446997 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 4.8000007)
|
||||
|
||||
[node name="Wall78" parent="Resturant/Walls" unique_id=1207579491 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 5.4000006)
|
||||
|
||||
[node name="Wall79" parent="Resturant/Walls" unique_id=1798073342 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -3.5999994)
|
||||
|
||||
[node name="Wall80" parent="Resturant/Walls" unique_id=36005990 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -4.2)
|
||||
|
||||
[node name="Wall81" parent="Resturant/Walls" unique_id=79516947 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -4.799999)
|
||||
|
||||
[node name="Wall82" parent="Resturant/Walls" unique_id=1363235805 instance=ExtResource("11_slo47")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -5.3999996)
|
||||
|
||||
[node name="Hatches" type="Node3D" parent="Resturant" unique_id=1561045769]
|
||||
|
||||
[node name="ServingCounter" parent="Resturant/Hatches" unique_id=1341321603 instance=ExtResource("12_dpf3b")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 0)
|
||||
|
||||
[node name="ServingCounter2" parent="Resturant/Hatches" unique_id=1325232371 instance=ExtResource("12_dpf3b")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8000001, 0, 0)
|
||||
|
||||
[node name="ServingCounter3" parent="Resturant/Hatches" unique_id=539914523 instance=ExtResource("12_dpf3b")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 0)
|
||||
|
||||
[node name="ServingCounter4" parent="Resturant/Hatches" unique_id=2078770951 instance=ExtResource("12_dpf3b")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0, 0)
|
||||
|
||||
[node name="ServingCounter5" parent="Resturant/Hatches" unique_id=2019049083 instance=ExtResource("12_dpf3b")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
|
||||
|
||||
[node name="Table2" parent="Resturant" unique_id=1457688277 instance=ExtResource("13_yjosk")]
|
||||
transform = Transform3D(1, 0, -1.7484555e-07, 0, 1, 0, 1.7484555e-07, 0, 1, 0.5999999, 0.48000002, -3)
|
||||
|
||||
[node name="Hob" parent="Resturant" unique_id=172418174 instance=ExtResource("14_2ndvi")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4.2000003, 0.54, 1.7999992)
|
||||
|
||||
[node name="Hob2" parent="Resturant" unique_id=980569400 instance=ExtResource("14_2ndvi")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4.200001, 0.54, 1.1999999)
|
||||
|
||||
[node name="Counter" parent="Resturant" unique_id=1487893288 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.200001, 0.54, 2.3999996)
|
||||
|
||||
[node name="Counter2" parent="Resturant" unique_id=5128912 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.200001, 0.54, 3)
|
||||
|
||||
[node name="Counter3" parent="Resturant" unique_id=1298458612 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.2000003, 0.54, 0.5999999)
|
||||
|
||||
[node name="Counter4" parent="Resturant" unique_id=1764980142 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.7683716e-07, 0.54, 2.3999996)
|
||||
|
||||
[node name="Counter5" parent="Resturant" unique_id=1015820252 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.7683716e-07, 0.54, 3)
|
||||
|
||||
[node name="PlateDispenser" parent="Resturant" unique_id=710538846 instance=ExtResource("15_qxyk8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
|
||||
|
||||
[node name="Sink" parent="Resturant" unique_id=2055277359 instance=ExtResource("16_u5c1m")]
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0.6, 0.48000002, -0.6)
|
||||
|
||||
[node name="Counter6" parent="Resturant" unique_id=2141915043 instance=ExtResource("15_di04w")]
|
||||
transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 4.7683716e-07, 0.54, -0.6000006)
|
||||
|
||||
[node name="RawBurgerDispenser" parent="Resturant" unique_id=235630131 instance=ExtResource("17_y7baw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.2)
|
||||
|
||||
[node name="BurgerBunsDispenser" parent="Resturant" unique_id=1720683779 instance=ExtResource("18_wvcs1")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.8000001)
|
||||
|
||||
[node name="Table3" parent="Resturant" unique_id=1863572470 instance=ExtResource("13_yjosk")]
|
||||
transform = Transform3D(-1, 0, 2.6226832e-07, 0, 1, 0, -2.6226832e-07, 0, -1, 3, 0.48000002, -3)
|
||||
|
||||
[node name="Hamburger" parent="." unique_id=1675596942 instance=ExtResource("11_c8vo7")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8000001, -0.6)
|
||||
|
||||
[node name="Plate" parent="." unique_id=190487773 instance=ExtResource("12_1f3bw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3800001, -0.6)
|
||||
|
||||
[node name="PickableObject" parent="." unique_id=1084951838 instance=ExtResource("13_1f3bw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 1.2, -0.6)
|
||||
@@ -1,7 +1,7 @@
|
||||
[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="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"]
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
[gd_scene format=3 uid="uid://q37nqadkibbp"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p8umn"]
|
||||
albedo_color = Color(0.38, 0.35162666, 0.3268, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
size = Vector3(1.2, 0.78000003, 0.6)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_b53mu"]
|
||||
albedo_color = Color(0.46, 0.32261336, 0.2024, 1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hgrxd"]
|
||||
albedo_color = Color(0.46, 0.46, 0.46, 1)
|
||||
metallic = 0.73
|
||||
metallic_specular = 0.83
|
||||
roughness = 0.3
|
||||
|
||||
[node name="Door" type="StaticBody3D" unique_id=964400290]
|
||||
|
||||
[node name="CSGCombinerWall" type="CSGCombiner3D" parent="." unique_id=1966373401]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombinerWall" unique_id=1920740063]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.1, 0)
|
||||
size = Vector3(0.6, 1.8000001, 0.6)
|
||||
material = SubResource("StandardMaterial3D_p8umn")
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="CSGCombinerWall" unique_id=747780779]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5999999, 3.1, 0)
|
||||
size = Vector3(0.6, 1.8000001, 0.6)
|
||||
material = SubResource("StandardMaterial3D_p8umn")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1127621100]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 2.6302783, 0)
|
||||
shape = SubResource("BoxShape3D_vlqg6")
|
||||
|
||||
[node name="CSGCombinerDoor" type="CSGCombiner3D" parent="." unique_id=522743190]
|
||||
transform = Transform3D(0.087155804, 0, -0.9961947, 0, 1, 0, 0.9961947, 0, 0.087155804, -0.89999986, 0, 0)
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="CSGCombinerDoor" unique_id=34425292]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.29999995, 1.1, 0)
|
||||
size = Vector3(0.6, 2.2, 0.05)
|
||||
material = SubResource("StandardMaterial3D_b53mu")
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="CSGCombinerDoor" unique_id=397451563]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.48594975, 1.1787889, -0.0049031973)
|
||||
size = Vector3(0.22, 0.42, 0.06)
|
||||
material = SubResource("StandardMaterial3D_hgrxd")
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombinerDoor" unique_id=3701079]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0.29999995, 1.6800001, 0)
|
||||
operation = 2
|
||||
radius = 0.15
|
||||
height = 0.2
|
||||
sides = 32
|
||||
|
||||
[node name="CSGCombinerDoor2" type="CSGCombiner3D" parent="." unique_id=454018491]
|
||||
transform = Transform3D(-0.087155804, 8.709011e-08, 0.9961947, 0, 1, -8.742278e-08, 0.9961947, 7.619402e-09, 0.087155804, 0.3000002, 0, 0)
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="CSGCombinerDoor2" unique_id=312337639]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.29999995, 1.1, 0)
|
||||
size = Vector3(0.6, 2.2, 0.05)
|
||||
material = SubResource("StandardMaterial3D_b53mu")
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="CSGCombinerDoor2" unique_id=359915386]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.49211836, 1.1787889, -0.0049031973)
|
||||
size = Vector3(0.22, 0.42, 0.06)
|
||||
material = SubResource("StandardMaterial3D_hgrxd")
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombinerDoor2" unique_id=1793882462]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0.29999995, 1.6800001, 0)
|
||||
operation = 2
|
||||
radius = 0.15
|
||||
height = 0.2
|
||||
sides = 32
|
||||
@@ -1,138 +0,0 @@
|
||||
[gd_scene format=3 uid="uid://do6mrslyqe5qe"]
|
||||
|
||||
[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("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]
|
||||
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("6_b4aof")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9667189, 0)
|
||||
|
||||
[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="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)
|
||||
@@ -1,136 +0,0 @@
|
||||
[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)
|
||||
@@ -1,136 +0,0 @@
|
||||
[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)
|
||||
@@ -1,136 +0,0 @@
|
||||
[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)
|
||||
@@ -1,136 +0,0 @@
|
||||
[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)
|
||||
@@ -0,0 +1,166 @@
|
||||
[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)
|
||||
@@ -1,54 +0,0 @@
|
||||
[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" uid="uid://jispfagyh1di" 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")
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
ambient_light_sky_contribution = 0.49
|
||||
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(50, 0.1, 50)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_24d3s"]
|
||||
material = ExtResource("6_oa1go")
|
||||
size = Vector3(50, 0.1, 50)
|
||||
|
||||
[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)
|
||||
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")
|
||||
+50
-48
@@ -1,40 +1,37 @@
|
||||
[gd_scene format=3 uid="uid://c30i6h32w8p47"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_4vwpp"]
|
||||
[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"]
|
||||
[ext_resource type="Script" uid="uid://dw3bfum87xs55" path="res://net/stations_spawner.gd" id="5_36d77"]
|
||||
[ext_resource type="PackedScene" uid="uid://cey1s10v2xufq" path="res://content/kitchen_layouts/small_line.tscn" id="6_uvo4r"]
|
||||
[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://fyd2rjramhbb" path="res://prefabs/kitchen_instantiator.gd" id="6_pw2j5"]
|
||||
[ext_resource type="PackedScene" uid="uid://damrxtlt7uswf" path="res://content/station_layouts/small_line.tscn" id="7_0sjqq"]
|
||||
[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="8_0sjqq"]
|
||||
[ext_resource type="Script" uid="uid://biu4qr3nr1eny" path="res://test/mp_test_driver.gd" id="99_mptst"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_uvo4r"]
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
size = Vector3(15, 0.1, 15)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_24d3s"]
|
||||
material = ExtResource("3_75ecy")
|
||||
size = Vector3(15, 0.1, 15)
|
||||
|
||||
[sub_resource type="Environment" id="Environment_bvwq1"]
|
||||
background_mode = 2
|
||||
sky = ExtResource("3_4vwpp")
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
ambient_light_sky_contribution = 0.89
|
||||
sky = ExtResource("5_c3xgf")
|
||||
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(15, 0.1, 15)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_24d3s"]
|
||||
material = ExtResource("2_pjkx2")
|
||||
size = Vector3(15, 0.1, 15)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_arao0"]
|
||||
size = Vector3(15, 20, 0.1)
|
||||
|
||||
[node name="Main" type="Node3D" unique_id=1312265607]
|
||||
script = ExtResource("1_4vwpp")
|
||||
script = ExtResource("1_kdan8")
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250]
|
||||
environment = SubResource("Environment_uvo4r")
|
||||
|
||||
[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("1_pjkx2")]
|
||||
[node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("2_g30gi")]
|
||||
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]
|
||||
@@ -50,38 +47,43 @@ shape = SubResource("BoxShape3D_vlqg6")
|
||||
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=4404969]
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250]
|
||||
environment = SubResource("Environment_bvwq1")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="InvisibleWalls" unique_id=998476672]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.197384, 7.589958)
|
||||
shape = SubResource("BoxShape3D_arao0")
|
||||
[node name="WorldContent" type="Node3D" parent="." unique_id=291550153]
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="InvisibleWalls" unique_id=340303902]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.197384, -7.509142)
|
||||
shape = SubResource("BoxShape3D_arao0")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="InvisibleWalls" unique_id=1193703037]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -7.438612, 9.197384, -0.018813243)
|
||||
shape = SubResource("BoxShape3D_arao0")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="InvisibleWalls" 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="Players" type="Node3D" parent="." unique_id=1595463693]
|
||||
|
||||
[node name="ItemsSpawner" type="MultiplayerSpawner" parent="." unique_id=627119248]
|
||||
_spawnable_scenes = PackedStringArray("uid://dpot5qie20vf6", "uid://b3m2ag8g5rj4r", "uid://c0lknik4noobs", "uid://b3m2ag8g5rj4r", "uid://cfc4ho67u4r5e", "uid://e4i6o5oriecx")
|
||||
spawn_path = NodePath("..")
|
||||
|
||||
[node name="StationsSpawner" type="MultiplayerSpawner" parent="." unique_id=240083159]
|
||||
_spawnable_scenes = PackedStringArray("uid://c6rift56ql3f8", "uid://efaec6ymgabo", "uid://bbg7dwsbxxh1t", "uid://cnjwtnhwh0i8q", "uid://j7caslh27nor", "uid://ck5tuftqmyiue", "uid://cwnwo4i28upap", "uid://dvrk268s7gkxh", "uid://caf0xanmxbshy")
|
||||
spawn_path = NodePath("../Stations")
|
||||
script = ExtResource("5_36d77")
|
||||
kitchen_scene = ExtResource("6_uvo4r")
|
||||
|
||||
[node name="Stations" type="Node3D" parent="." unique_id=1991170324]
|
||||
spawn_path = NodePath("../WorldContent")
|
||||
|
||||
[node name="PlayersSpawner" type="MultiplayerSpawner" parent="." unique_id=106645565]
|
||||
_spawnable_scenes = PackedStringArray("res://Player/net_player.tscn")
|
||||
spawn_path = NodePath("../Players")
|
||||
|
||||
[node name="Players" type="Node3D" parent="." unique_id=1595463693]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=4404969]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" unique_id=998476672]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.197384, 7.589958)
|
||||
shape = SubResource("BoxShape3D_arao0")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D" unique_id=340303902]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.197384, -7.509142)
|
||||
shape = SubResource("BoxShape3D_arao0")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="StaticBody3D" unique_id=1193703037]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -7.438612, 9.197384, -0.018813243)
|
||||
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="." unique_id=580575192]
|
||||
script = ExtResource("99_mptst")
|
||||
|
||||
[node name="KitchenInstantiator" type="Node3D" parent="." unique_id=1328198547]
|
||||
transform = Transform3D(1, 0, -1.7484555e-07, 0, 1, 0, 1.7484555e-07, 0, 1, 0, 0, -1.2)
|
||||
script = ExtResource("6_pw2j5")
|
||||
kitchen_scene = ExtResource("7_0sjqq")
|
||||
hob_scene = ExtResource("8_0sjqq")
|
||||
|
||||
@@ -94,8 +94,8 @@ func _populate_world_if_owner() -> void:
|
||||
layout.queue_free()
|
||||
return
|
||||
|
||||
_init_recipes()
|
||||
_populated = true
|
||||
GameManager.meals_in_play = ["hamburger"]
|
||||
var stations := layout.get_stations()
|
||||
var items := layout.get_items()
|
||||
layout.queue_free()
|
||||
@@ -108,6 +108,11 @@ func _populate_world_if_owner() -> void:
|
||||
NetworkManager.log_line("World populated")
|
||||
|
||||
|
||||
func _init_recipes():
|
||||
GameManager.meals_in_play = ["hamburger"]
|
||||
GameManager.sides_in_play = ["cube"]
|
||||
|
||||
|
||||
# Free the authored template nodes. Done immediately rather than with
|
||||
# queue_free() so the names are released before the replicated copies are
|
||||
# spawned under the same ones.
|
||||
@@ -1,13 +1,13 @@
|
||||
[gd_scene format=3 uid="uid://dbgu4r127ke5v"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b4ldkd3ngs0vp" path="res://scripts/main.gd" id="1_1ymas"]
|
||||
[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://prefabs/xr_origin.tscn" id="3_bryd6"]
|
||||
[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="PackedScene" uid="uid://e4i6o5oriecx" path="res://items/PickupCube.tscn" id="8_xl5nn"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_bvwq1"]
|
||||
background_mode = 2
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
[gd_scene format=3 uid="uid://da6yrsnxvsrif"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p8umn"]
|
||||
albedo_color = Color(0.38, 0.35162666, 0.3268, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
size = Vector3(0.6, 0.34027833, 0.6)
|
||||
|
||||
[node name="Wall" type="StaticBody3D" unique_id=434181749]
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=671294008]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D" unique_id=308631620]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
size = Vector3(0.6, 4, 0.6)
|
||||
material = SubResource("StandardMaterial3D_p8umn")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1166811333]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0501393, 0)
|
||||
shape = SubResource("BoxShape3D_vlqg6")
|
||||
@@ -2,14 +2,13 @@
|
||||
|
||||
[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/burger_buns.tscn" id="2_1q74o"]
|
||||
[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"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xmbo2"]
|
||||
radius = 0.3
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_24d3s"]
|
||||
height = 1.0
|
||||
radius = 0.3
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vlqg6"]
|
||||
@@ -31,7 +30,6 @@ metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
shape = SubResource("SphereShape3D_xmbo2")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1470079357]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("CylinderShape3D_24d3s")
|
||||
|
||||
[node name="SlideOffDome" parent="." unique_id=1427609426 instance=ExtResource("4_rf1b2")]
|
||||
@@ -39,9 +37,7 @@ shape = SubResource("CylinderShape3D_24d3s")
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=1746426494]
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=858311379]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
radius = 0.3
|
||||
height = 1.0
|
||||
sides = 32
|
||||
|
||||
[node name="CSGCombiner3DBuns" type="CSGCombiner3D" parent="CSGCombiner3D" unique_id=1459017790]
|
||||
|
||||
@@ -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)
|
||||
@@ -21,11 +21,10 @@ albedo_color = Color(1.1759251, 0.741115, 0.5692133, 1)
|
||||
[node name="Counter" type="StaticBody3D" unique_id=1487893288 groups=["station"]]
|
||||
|
||||
[node name="CollisionShape3DCuttingBoard" type="CollisionShape3D" parent="." unique_id=706340473]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.49513447, 0)
|
||||
shape = SubResource("BoxShape3D_24d3s")
|
||||
|
||||
[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=1647380272 groups=["station"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0560187, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5608841, 0)
|
||||
collision_layer = 65536
|
||||
collision_mask = 65540
|
||||
script = ExtResource("1_dlkho")
|
||||
@@ -40,7 +39,6 @@ shape = SubResource("BoxShape3D_1ntq7")
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone" unique_id=1786831079]
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=451757283]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.49513447, 0)
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=305755330]
|
||||
|
||||
+200
-196
@@ -1,19 +1,50 @@
|
||||
[gd_scene format=3 uid="uid://j7caslh27nor"]
|
||||
|
||||
[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"]
|
||||
[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"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"]
|
||||
size = Vector3(0.1, 0.1, 0.1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"]
|
||||
albedo_color = Color(0.1764706, 1, 1, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_vlqg6"]
|
||||
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")
|
||||
metadata/_custom_type_script = "uid://dvobm6vcfnqe8"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qyiot"]
|
||||
script = ExtResource("10_hyphg")
|
||||
closed_pose = ExtResource("12_0t4ed")
|
||||
metadata/_custom_type_script = "uid://dvobm6vcfnqe8"
|
||||
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_cube"]
|
||||
properties/0/path = NodePath(".:position")
|
||||
properties/0/spawn = false
|
||||
properties/0/replication_mode = 1
|
||||
properties/1/path = NodePath(".:quaternion")
|
||||
properties/1/spawn = false
|
||||
properties/1/replication_mode = 1
|
||||
properties/2/path = NodePath("NetPickable:net_held_by")
|
||||
properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_kdxnr"]
|
||||
size = Vector3(0.6, 1, 0.6)
|
||||
@@ -33,10 +64,10 @@ properties/1/replication_mode = 1
|
||||
properties/2/path = NodePath(".:cooking_result")
|
||||
properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
properties/3/path = NodePath(".:position")
|
||||
properties/3/path = NodePath("Hob:position")
|
||||
properties/3/spawn = true
|
||||
properties/3/replication_mode = 1
|
||||
properties/4/path = NodePath(".:rotation")
|
||||
properties/4/path = NodePath("Hob:rotation")
|
||||
properties/4/spawn = true
|
||||
properties/4/replication_mode = 1
|
||||
|
||||
@@ -45,43 +76,43 @@ length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CSGCombiner3D/CSGTorus3D3:material")
|
||||
tracks/0/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D3:material")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("4_34vy5")]
|
||||
"values": [ExtResource("4_8qpxk")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("CSGCombiner3D/CSGTorus3D2:material")
|
||||
tracks/1/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D2:material")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("4_34vy5")]
|
||||
"values": [ExtResource("4_8qpxk")]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("CSGCombiner3D/CSGTorus3D:material")
|
||||
tracks/2/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D:material")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("4_34vy5")]
|
||||
"values": [ExtResource("4_8qpxk")]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("CSGCombiner3D/CSGTorus3D3:material:emission_energy_multiplier")
|
||||
tracks/3/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D3:material:emission_energy_multiplier")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
@@ -93,7 +124,7 @@ tracks/3/keys = {
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("OmniLight3D:light_energy")
|
||||
tracks/4/path = NodePath("Hob/OmniLight3D:light_energy")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
@@ -109,43 +140,43 @@ loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CSGCombiner3D/CSGTorus3D3:material")
|
||||
tracks/0/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D3:material")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("6_xy5oe")]
|
||||
"values": [ExtResource("6_m7l4u")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("CSGCombiner3D/CSGTorus3D2:material")
|
||||
tracks/1/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D2:material")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("6_xy5oe")]
|
||||
"values": [ExtResource("6_m7l4u")]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("CSGCombiner3D/CSGTorus3D:material")
|
||||
tracks/2/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D:material")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("6_xy5oe")]
|
||||
"values": [ExtResource("6_m7l4u")]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("CSGCombiner3D/CSGTorus3D3:material:emission_energy_multiplier")
|
||||
tracks/3/path = NodePath("Hob/CSGCombiner3D/CSGTorus3D3:material:emission_energy_multiplier")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
@@ -157,7 +188,7 @@ tracks/3/keys = {
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("OmniLight3D:light_energy")
|
||||
tracks/4/path = NodePath("Hob/OmniLight3D:light_energy")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
@@ -173,187 +204,160 @@ _data = {
|
||||
&"hob": SubResource("Animation_6oyg1")
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_m1xbq"]
|
||||
size = Vector3(0.1, 0.1, 0.1)
|
||||
[node name="Hob" type="Node3D" unique_id=172418174 groups=["station"]]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"]
|
||||
albedo_color = Color(0.1764706, 1, 1, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_vlqg6"]
|
||||
material = SubResource("StandardMaterial3D_24d3s")
|
||||
size = Vector3(0.1, 0.1, 0.1)
|
||||
|
||||
[sub_resource type="Resource" id="Resource_lc22d"]
|
||||
script = ExtResource("11_4me6o")
|
||||
closed_pose = ExtResource("10_jnfpx")
|
||||
metadata/_custom_type_script = "uid://dvobm6vcfnqe8"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qyiot"]
|
||||
script = ExtResource("11_4me6o")
|
||||
closed_pose = ExtResource("13_vttml")
|
||||
metadata/_custom_type_script = "uid://dvobm6vcfnqe8"
|
||||
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_np_cube"]
|
||||
properties/0/path = NodePath(".:position")
|
||||
properties/0/spawn = false
|
||||
properties/0/replication_mode = 1
|
||||
properties/1/path = NodePath(".:quaternion")
|
||||
properties/1/spawn = false
|
||||
properties/1/replication_mode = 1
|
||||
properties/2/path = NodePath("NetPickable:net_held_by")
|
||||
properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="Hob" type="StaticBody3D" unique_id=1687971542 groups=["station"]]
|
||||
script = ExtResource("1_34vy5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1283846023]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50658906, 0)
|
||||
shape = SubResource("BoxShape3D_kdxnr")
|
||||
|
||||
[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=538157739 groups=["station"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0336012, 0)
|
||||
collision_layer = 65536
|
||||
collision_mask = 65540
|
||||
script = ExtResource("2_xy5oe")
|
||||
stash_sound = ExtResource("3_aqrs6")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=370920392]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.000975132, 0)
|
||||
shape = SubResource("BoxShape3D_7uuqv")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone" unique_id=1991627595]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283)
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=70901698]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50658906, 0)
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1111505172]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.00894776)
|
||||
size = Vector3(0.6, 1, 0.5821045)
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D/CSGBox3D" unique_id=1338463939]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.5103538, -7.827557e-05)
|
||||
operation = 2
|
||||
radius = 0.25976563
|
||||
height = 0.08898926
|
||||
sides = 32
|
||||
|
||||
[node name="CSGTorus3D3" type="CSGTorus3D" parent="CSGCombiner3D" unique_id=666891341]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.5003869, -7.827557e-05)
|
||||
inner_radius = 0.09153879
|
||||
outer_radius = 0.120084204
|
||||
sides = 32
|
||||
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_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_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)
|
||||
radius = 0.071777344
|
||||
height = 0.09637451
|
||||
sides = 32
|
||||
|
||||
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=435540815]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, -3.9091177e-08, 0.8943019, 0, -0.8943019, -3.9091177e-08, 0, 0.48668858, -0.0020651226)
|
||||
radius = 0.008
|
||||
height = 0.44487303
|
||||
|
||||
[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=878171801]
|
||||
transform = Transform3D(-3.9091177e-08, -0.8943019, -3.9091177e-08, 0, -3.9091177e-08, 0.8943019, -0.8943019, 3.9091177e-08, 1.7087296e-15, 0, 0.48668858, -0.0020651226)
|
||||
radius = 0.008
|
||||
height = 0.44487303
|
||||
|
||||
[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1619646436]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, -0.20412213, 0.42728558, 0.26171687)
|
||||
radius = 0.044433594
|
||||
height = 0.10932617
|
||||
material = SubResource("StandardMaterial3D_gkb3v")
|
||||
|
||||
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=548846612]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0.12531614, 0.42728558, 0.26171687)
|
||||
radius = 0.044433594
|
||||
height = 0.10932617
|
||||
material = SubResource("StandardMaterial3D_gkb3v")
|
||||
|
||||
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1208989647]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0.22979808, 0.42728558, 0.26171687)
|
||||
radius = 0.044433594
|
||||
height = 0.10932617
|
||||
material = SubResource("StandardMaterial3D_gkb3v")
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D" unique_id=465340362]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.039733887, -0.07685089, 0.29250562)
|
||||
operation = 2
|
||||
size = Vector3(1.0999756, 0.8462982, 0.072387695)
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1813079759]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.003479004, -0.08253479, 0.2656765)
|
||||
size = Vector3(0.55, 0.835, 0.072)
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1978186019]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.003479004, -0.45215607, 0.24655426)
|
||||
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("5_m4alr")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2539531, -0.09216304)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1525460719]
|
||||
libraries/ = SubResource("AnimationLibrary_ac5f3")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="." unique_id=1618457623]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0119377, 0)
|
||||
light_color = Color(1, 0.13725491, 0, 1)
|
||||
light_energy = 0.0
|
||||
omni_range = 0.5
|
||||
|
||||
[node name="Movement" type="Node3D" parent="." unique_id=1818087979]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50658906, 0)
|
||||
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)
|
||||
[node name="MoveHandle" type="RigidBody3D" parent="." unique_id=1675596942 groups=["platalbe_item"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.08, 0)
|
||||
collision_layer = 4
|
||||
collision_mask = 196615
|
||||
axis_lock_linear_y = true
|
||||
axis_lock_angular_x = true
|
||||
axis_lock_angular_z = true
|
||||
mass = 0.004
|
||||
gravity_scale = 0.0
|
||||
gravity_scale = 0.5
|
||||
linear_damp = 100.0
|
||||
script = ExtResource("8_f2m64")
|
||||
script = ExtResource("7_d4kl5")
|
||||
release_mode = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Movement/MoveHandle" unique_id=1023455695]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MoveHandle" unique_id=1023455695]
|
||||
shape = SubResource("BoxShape3D_m1xbq")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Movement/MoveHandle" unique_id=1223689787]
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="MoveHandle" unique_id=1223689787]
|
||||
mesh = SubResource("BoxMesh_vlqg6")
|
||||
|
||||
[node name="GrabPointHandLeft" parent="Movement/MoveHandle" unique_id=1571481674 instance=ExtResource("9_7mmlt")]
|
||||
[node name="GrabPointHandLeft" parent="MoveHandle" unique_id=1571481674 instance=ExtResource("8_w3ous")]
|
||||
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("12_tlp5u")]
|
||||
[node name="GrabPointHandRight" parent="MoveHandle" unique_id=514404634 instance=ExtResource("11_sexl6")]
|
||||
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]
|
||||
[node name="NetPickable" type="MultiplayerSynchronizer" parent="MoveHandle" unique_id=1858332513]
|
||||
replication_config = SubResource("SceneReplicationConfig_np_cube")
|
||||
script = ExtResource("14_glc7b")
|
||||
script = ExtResource("15_trny8")
|
||||
|
||||
[node name="Hob" type="StaticBody3D" parent="." unique_id=1332123047]
|
||||
script = ExtResource("1_7jc4g")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hob" unique_id=1283846023]
|
||||
shape = SubResource("BoxShape3D_kdxnr")
|
||||
|
||||
[node name="XRToolsSnapZone" type="Area3D" parent="Hob" unique_id=538157739 groups=["station"]]
|
||||
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")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Hob/XRToolsSnapZone" unique_id=370920392]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.000975132, 0)
|
||||
shape = SubResource("BoxShape3D_7uuqv")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hob/XRToolsSnapZone" unique_id=1991627595]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283)
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Hob" unique_id=70901698]
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="Hob/CSGCombiner3D" unique_id=1111505172]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.00894776)
|
||||
size = Vector3(0.6, 1, 0.5821045)
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Hob/CSGCombiner3D/CSGBox3D" unique_id=1338463939]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.5103538, -7.827557e-05)
|
||||
operation = 2
|
||||
radius = 0.25976563
|
||||
height = 0.08898926
|
||||
sides = 32
|
||||
|
||||
[node name="CSGTorus3D3" type="CSGTorus3D" parent="Hob/CSGCombiner3D" unique_id=666891341]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.5003869, -7.827557e-05)
|
||||
inner_radius = 0.09153879
|
||||
outer_radius = 0.120084204
|
||||
sides = 32
|
||||
material = ExtResource("4_8qpxk")
|
||||
|
||||
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Hob/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")
|
||||
|
||||
[node name="CSGTorus3D" type="CSGTorus3D" parent="Hob/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")
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Hob/CSGCombiner3D" unique_id=1107239311]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, 0.8943019, 0, 0, 0, 0.8943019, 0, 0.4498226, -7.827557e-05)
|
||||
radius = 0.071777344
|
||||
height = 0.09637451
|
||||
sides = 32
|
||||
|
||||
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Hob/CSGCombiner3D" unique_id=435540815]
|
||||
transform = Transform3D(0.8943019, 0, 0, 0, -3.9091177e-08, 0.8943019, 0, -0.8943019, -3.9091177e-08, 0, 0.48668858, -0.0020651226)
|
||||
radius = 0.008
|
||||
height = 0.44487303
|
||||
|
||||
[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Hob/CSGCombiner3D" unique_id=878171801]
|
||||
transform = Transform3D(-3.9091177e-08, -0.8943019, -3.9091177e-08, 0, -3.9091177e-08, 0.8943019, -0.8943019, 3.9091177e-08, 1.7087296e-15, 0, 0.48668858, -0.0020651226)
|
||||
radius = 0.008
|
||||
height = 0.44487303
|
||||
|
||||
[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Hob/CSGCombiner3D" unique_id=1619646436]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, -0.20412213, 0.42728558, 0.26171687)
|
||||
radius = 0.044433594
|
||||
height = 0.10932617
|
||||
material = SubResource("StandardMaterial3D_gkb3v")
|
||||
|
||||
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Hob/CSGCombiner3D" unique_id=548846612]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0.12531614, 0.42728558, 0.26171687)
|
||||
radius = 0.044433594
|
||||
height = 0.10932617
|
||||
material = SubResource("StandardMaterial3D_gkb3v")
|
||||
|
||||
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Hob/CSGCombiner3D" unique_id=1208989647]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0.22979808, 0.42728558, 0.26171687)
|
||||
radius = 0.044433594
|
||||
height = 0.10932617
|
||||
material = SubResource("StandardMaterial3D_gkb3v")
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="Hob/CSGCombiner3D" unique_id=465340362]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.039733887, -0.07685089, 0.29250562)
|
||||
operation = 2
|
||||
size = Vector3(1.0999756, 0.8462982, 0.072387695)
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="Hob/CSGCombiner3D" unique_id=1813079759]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.003479004, -0.08253479, 0.2656765)
|
||||
size = Vector3(0.55, 0.835, 0.072)
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="Hob/CSGCombiner3D" unique_id=1978186019]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.003479004, -0.45215607, 0.24655426)
|
||||
size = Vector3(0.55, 0.096, 0.14)
|
||||
|
||||
[node name="Sync" type="MultiplayerSynchronizer" parent="Hob" unique_id=768992259]
|
||||
root_path = NodePath("../..")
|
||||
replication_config = SubResource("SceneReplicationConfig_np_hob")
|
||||
|
||||
[node name="ProgressBar3D" parent="Hob" unique_id=654673176 instance=ExtResource("3_7uuqv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.74736404, -0.09216304)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Hob" unique_id=1525460719]
|
||||
root_node = NodePath("../..")
|
||||
libraries/ = SubResource("AnimationLibrary_ac5f3")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Hob" unique_id=1618457623]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5053487, 0)
|
||||
light_color = Color(1, 0.13725491, 0, 1)
|
||||
light_energy = 0.0
|
||||
omni_range = 0.5
|
||||
|
||||
[node name="Movement" type="Node" parent="Hob" unique_id=1004484356 node_paths=PackedStringArray("move_handle", "station")]
|
||||
script = ExtResource("7_akjp4")
|
||||
move_handle = NodePath("../../MoveHandle")
|
||||
station = NodePath("..")
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://cwwnbx5uat3fw"]
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" unique_id=725518829]
|
||||
@@ -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")
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
[gd_scene format=3 uid="uid://dlw5geheupgpt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1_oowyn"]
|
||||
[ext_resource type="AudioStream" uid="uid://bqtk1adk8umbx" path="res://sounds/220197__gameaudio__click-basic.wav" id="2_4mvh7"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_hgrxd"]
|
||||
size = Vector3(0.6, 0.12802735, 0.6)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vlqg6"]
|
||||
albedo_color = Color(0.45, 0.3012, 0.17099999, 1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p8umn"]
|
||||
albedo_color = Color(0.38, 0.35162666, 0.3268, 1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oowyn"]
|
||||
albedo_color = Color(0.38, 0.35162666, 0.3268, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
size = Vector3(0.6, 0.34027833, 0.6)
|
||||
|
||||
[node name="Hatch" type="StaticBody3D" unique_id=1341321603]
|
||||
|
||||
[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=2093161322 groups=["station"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2495586, 0)
|
||||
collision_layer = 65536
|
||||
collision_mask = 65540
|
||||
script = ExtResource("1_oowyn")
|
||||
stash_sound = ExtResource("2_4mvh7")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=1997533747]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.002, 0)
|
||||
shape = SubResource("BoxShape3D_hgrxd")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone" unique_id=1729156185]
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=2092063969]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1242328035]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48000002, 0)
|
||||
size = Vector3(0.599, 1, 0.3)
|
||||
material = SubResource("StandardMaterial3D_vlqg6")
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1252817409]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.07, 0)
|
||||
size = Vector3(0.6, 0.3, 0.6)
|
||||
material = SubResource("StandardMaterial3D_p8umn")
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D/CSGBox3D2" unique_id=1648749119]
|
||||
transform = Transform3D(-4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0, 1, 0.005000025, 0, 0)
|
||||
operation = 1
|
||||
radius = 0.25
|
||||
height = 0.67
|
||||
sides = 32
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="CSGCombiner3D" unique_id=740791264]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.14530161, 0.48000002, -0.15)
|
||||
size = Vector3(0.120000005, 1, 0.120000005)
|
||||
material = SubResource("StandardMaterial3D_vlqg6")
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="CSGCombiner3D" unique_id=249869254]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.14650056, 0.48000002, -0.15)
|
||||
size = Vector3(0.120000005, 1, 0.120000005)
|
||||
material = SubResource("StandardMaterial3D_vlqg6")
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1242869868]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.1, 0)
|
||||
size = Vector3(0.6, 1.8000001, 0.6)
|
||||
material = SubResource("StandardMaterial3D_oowyn")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1832317008]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0501393, 0)
|
||||
shape = SubResource("BoxShape3D_vlqg6")
|
||||
+8
-11
@@ -1,6 +1,6 @@
|
||||
extends StaticBody3D
|
||||
|
||||
const RECIPE_MANAGER = preload("res://scripts/recipe_Manager.gd")
|
||||
const RECIPE_MANAGER = preload("res://RecipeManager.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 FoodItem in held object
|
||||
# Find the CookableItem 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")
|
||||
@@ -86,7 +86,7 @@ func _on_object_picked_up(_item) -> void:
|
||||
# The setters above already refresh the display and start the flames.
|
||||
|
||||
|
||||
func _on_object_dropped() -> void:
|
||||
func _on_object_dropped(_item) -> void:
|
||||
print("Hob: object drop ")
|
||||
time_cooked = 0
|
||||
cooking_result = ""
|
||||
@@ -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,15 +106,12 @@ 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 = RECIPE_MANAGER.get_item_scene(_item).instantiate()
|
||||
get_tree().root.add_child(new_scene_instance)
|
||||
new_scene_instance.transform = original_transform
|
||||
|
||||
var new_scene_instance = NetworkManager.spawn_item(RECIPE_MANAGER.get_item_scene(_item).resource_path, 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()
|
||||
old_pickable.queue_free()
|
||||
NetworkManager.despawn_item(old_pickable)
|
||||
snap_zone.pick_up_object(new_scene_instance)
|
||||
|
||||
|
||||
|
||||
@@ -13,11 +13,8 @@ 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 = item_scene.instantiate()
|
||||
get_tree().root.add_child(new_item)
|
||||
new_item.transform = snap_zone.global_transform
|
||||
var new_item = NetworkManager.spawn_item(item_scene.resource_path, snap_zone.global_transform)
|
||||
snap_zone.pick_up_object(new_item)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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="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"]
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
radius = 0.3
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_24d3s"]
|
||||
height = 1.0
|
||||
radius = 0.3
|
||||
|
||||
[node name="PlateDispenser" type="StaticBody3D" unique_id=710538846]
|
||||
@@ -28,7 +27,6 @@ metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
shape = SubResource("SphereShape3D_xmbo2")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=831688237]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("CylinderShape3D_24d3s")
|
||||
|
||||
[node name="SlideOffDome" parent="." unique_id=1427609426 instance=ExtResource("4_tfo2i")]
|
||||
@@ -37,9 +35,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.061363697, 0)
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=696108271]
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1339763385]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
radius = 0.3
|
||||
height = 1.0
|
||||
sides = 32
|
||||
|
||||
[node name="Plates" type="Node3D" parent="." unique_id=1364909922]
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
radius = 0.3
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_24d3s"]
|
||||
height = 1.0
|
||||
radius = 0.3
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_di04w"]
|
||||
@@ -34,15 +33,12 @@ shape = SubResource("SphereShape3D_xmbo2")
|
||||
[node name="SlideOffDome" parent="." unique_id=1427609426 instance=ExtResource("5_mep2a")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=378049928]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("CylinderShape3D_24d3s")
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=1275577257]
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1973748218]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50180435, 0)
|
||||
radius = 0.3
|
||||
height = 1.0
|
||||
sides = 32
|
||||
|
||||
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=590219609]
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ func _on_object_picked_up(_item) -> void:
|
||||
is_washing = plate.is_dirty
|
||||
|
||||
|
||||
func _on_object_dropped() -> void:
|
||||
func _on_object_dropped(_item) -> void:
|
||||
print("Sink: object drop ")
|
||||
_reset_sink()
|
||||
|
||||
|
||||
+5
-8
@@ -2,7 +2,7 @@
|
||||
|
||||
[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)
|
||||
@@ -185,11 +185,11 @@ height = 0.04
|
||||
script = ExtResource("1_7hh4b")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=964735164]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4605298, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.019470215, 0)
|
||||
shape = SubResource("BoxShape3D_l02yb")
|
||||
|
||||
[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=1762550988 groups=["station"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.92614657, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.44614658, 0)
|
||||
collision_layer = 65536
|
||||
collision_mask = 65540
|
||||
script = ExtResource("2_3ocod")
|
||||
@@ -204,7 +204,6 @@ shape = SubResource("BoxShape3D_ai6d4")
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone" unique_id=1926328538]
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=311064646]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48000002, 0)
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=1147823280]
|
||||
size = Vector3(0.6, 1, 0.6)
|
||||
@@ -239,10 +238,9 @@ size = Vector3(1, 1.2053223, 0.352417)
|
||||
replication_config = SubResource("SceneReplicationConfig_np_sink")
|
||||
|
||||
[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("4_1pinr")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2964611, -0.035980098)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8164611, -0.035980098)
|
||||
|
||||
[node name="bubbles" type="CSGCombiner3D" parent="." unique_id=1624244242]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48000002, 0)
|
||||
visible = false
|
||||
|
||||
[node name="CSGSphere3D" type="CSGSphere3D" parent="bubbles" unique_id=1363004819]
|
||||
@@ -261,7 +259,6 @@ radius = 0.08
|
||||
material = SubResource("StandardMaterial3D_0gbf8")
|
||||
|
||||
[node name="water" type="CSGCombiner3D" parent="." unique_id=1050686091]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48000002, 0)
|
||||
visible = false
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="water" unique_id=1224655006]
|
||||
@@ -276,7 +273,7 @@ libraries/ = SubResource("AnimationLibrary_u2x8c")
|
||||
stream = SubResource("AudioStreamWAV_ai6d4")
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="." unique_id=1688415718]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0002603531, 1.1279259, -0.03759767)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0002603531, 0.6479259, -0.03759767)
|
||||
visible = false
|
||||
process_material = SubResource("ParticleProcessMaterial_hrheb")
|
||||
draw_pass_1 = SubResource("SphereMesh_bvwq1")
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
extends "res://stations/hob.gd"
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://d0jbuttv8klii
|
||||
@@ -1,18 +1,45 @@
|
||||
extends Node3D
|
||||
extends Node
|
||||
|
||||
@onready var move_handle: XRToolsPickable = $MoveHandle
|
||||
@onready var move_handle_rigid: RigidBody3D = $MoveHandle
|
||||
@export var snap_grid_size: float = 0.6
|
||||
|
||||
@export var move_handle: XRToolsPickable
|
||||
@export var station: StaticBody3D
|
||||
|
||||
var move_handle_rigid: RigidBody3D
|
||||
var original_collision_layer
|
||||
var original_y_pos: float
|
||||
|
||||
# TODO: Reject placing station in occupied spot.
|
||||
# TODO: Make ghost version of station that is displayed instead of model.
|
||||
# TODO: public toggle to disable handle in build mode.
|
||||
# TODO: If game exits build mode, drop the handle before disabling it.
|
||||
|
||||
@onready var hob: StaticBody3D = $".."
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
if not station:
|
||||
push_error("StationMovement is missing referece to station")
|
||||
|
||||
move_handle_rigid = move_handle as RigidBody3D
|
||||
original_collision_layer = station.collision_layer
|
||||
original_y_pos = move_handle.transform.origin.y
|
||||
move_handle.picked_up.connect(_handle_pickup)
|
||||
move_handle.dropped.connect(_handle_drop)
|
||||
|
||||
|
||||
func _handle_pickup(_by):
|
||||
print("StationMovement handle pickup")
|
||||
station.collision_layer = 0
|
||||
|
||||
|
||||
func _handle_drop(_by):
|
||||
print("StationMovement handle drop")
|
||||
station.collision_layer = original_collision_layer
|
||||
move_handle.global_position = station.global_position + Vector3(0, original_y_pos, 0)
|
||||
move_handle.rotation = station.rotation
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
move_handle_rigid.linear_velocity = Vector3.ZERO
|
||||
move_handle_rigid.angular_velocity = Vector3.ZERO
|
||||
hob.global_position.x = move_handle.global_position.x
|
||||
hob.global_position.z = move_handle.global_position.z
|
||||
station.global_position.x = snappedf(move_handle.global_position.x, snap_grid_size)
|
||||
station.global_position.z = snappedf(move_handle.global_position.z, snap_grid_size)
|
||||
station.global_rotation_degrees.y = snappedf(move_handle.global_rotation_degrees.y, 90)
|
||||
|
||||
|
||||
+208
-97
@@ -1,13 +1,13 @@
|
||||
class_name Table
|
||||
extends StaticBody3D
|
||||
|
||||
const GAME_MANAGER = preload("res://scripts/game_manager.gd")
|
||||
|
||||
const GAME_MANAGER = preload("res://GameManager.gd")
|
||||
|
||||
@export var thinking_duration: float = 3.0
|
||||
@export var primary_duration: float = 60.0
|
||||
@export var friend_duration: float = 10.0
|
||||
@export var eating_duration: float = 4.0
|
||||
@export var ordering_duration: float = 50.0
|
||||
@export var primary_duration: float = 70.0
|
||||
@export var friend_duration: float = 12.0
|
||||
@export var eating_duration: float = 5.0
|
||||
@export var money_sound: AudioStream
|
||||
|
||||
@onready var label_3d: Label3D = $Label3D
|
||||
@@ -15,8 +15,11 @@ const GAME_MANAGER = preload("res://scripts/game_manager.gd")
|
||||
@onready var snap_zones: Array[XRToolsSnapZone] = []
|
||||
@onready var progress_bar: ProgressBar3D = $ProgressBar3D
|
||||
@onready var audio_player: AudioStreamPlayer3D = $AudioStreamPlayer3D
|
||||
@onready var customers: Node3D = $Customers
|
||||
@onready var player_detect_area_3d: Area3D = $PlayerDetectArea3D
|
||||
|
||||
const lbl_thinking: String = "Thinking"
|
||||
const lbl_thinking: String = "..."
|
||||
const lbl_ordering: String = "!"
|
||||
const lbl_gameover: String = "Game Over!"
|
||||
const lbl_eating: String = "Eating..."
|
||||
|
||||
@@ -25,6 +28,7 @@ const lbl_eating: String = "Eating..."
|
||||
enum TableState {
|
||||
EMPTY, # Just finished eating or havent eaten yet
|
||||
THINKING,
|
||||
ORDERING, # Wating for player to take their order
|
||||
WAITING_PRIMARY, # Inital wait to be served
|
||||
WAITING_FRIEND, # Waiting for friends food to arrive
|
||||
EATING
|
||||
@@ -36,10 +40,61 @@ enum TableState {
|
||||
## NetworkManager._gate_station). The setters below just refresh the display,
|
||||
## so both the server (via _setState) and clients (via incoming sync) show
|
||||
## the same text. Use _setState(), never assign _state directly.
|
||||
var _state: TableState = TableState.EMPTY: set = _set_state
|
||||
var _state_time: float = 0.0: set = _set_state_time
|
||||
var _state: TableState = TableState.EMPTY
|
||||
var _state_time: float = 0.0
|
||||
var _state_duration: float = 0.0 # set in _set_state_time
|
||||
var _unsatisfied_orders: Array[String] = []: set = _set_unsatisfied_orders
|
||||
var _original_orders: Array[String] = []
|
||||
var _unsatisfied_orders: Array[String] = []
|
||||
var _players_count: int = 0
|
||||
|
||||
|
||||
func place_order() -> void:
|
||||
print("Table place_order()")
|
||||
var new_orders: Array[String] = _unsatisfied_orders.duplicate()
|
||||
for _i in range(0, randi_range(1, 2)):
|
||||
new_orders.append(GAME_MANAGER.get_random_meal())
|
||||
for _i in range(0, randi_range(0, 1)):
|
||||
new_orders.append(GAME_MANAGER.get_random_side())
|
||||
_unsatisfied_orders = new_orders
|
||||
_original_orders = _unsatisfied_orders.duplicate()
|
||||
|
||||
|
||||
func absorb_items():
|
||||
print("Table: absorb_items()")
|
||||
for snap_zone_node in snap_zones:
|
||||
var held_object = snap_zone_node.picked_up_object
|
||||
if not held_object:
|
||||
continue
|
||||
|
||||
_absorb_item_if_correct(held_object)
|
||||
|
||||
|
||||
func satisfyAllOrders() -> void:
|
||||
print("Table: satisfyAllOrders()")
|
||||
_unsatisfied_orders.clear()
|
||||
_original_orders.clear()
|
||||
clearAllFood()
|
||||
_setState(TableState.EMPTY)
|
||||
|
||||
|
||||
func clearAllFood() -> void:
|
||||
print("Table: clearAllFood()")
|
||||
for zone in snap_zones:
|
||||
var held_object = zone.picked_up_object
|
||||
if not held_object:
|
||||
continue
|
||||
|
||||
var plate: PlateController = _get_plate_controller_from_item(held_object)
|
||||
var food_item: FoodItem = Helper.find_food_item(held_object)
|
||||
if plate:
|
||||
plate.container.clear()
|
||||
plate.is_dirty = true
|
||||
|
||||
# Side or other food item directly on table
|
||||
elif food_item and food_item.type == FoodItem.Type.SIDE:
|
||||
zone.drop_object()
|
||||
NetworkManager.despawn_item(held_object)
|
||||
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -50,6 +105,7 @@ func _ready() -> void:
|
||||
if not progress_bar or progress_bar is not ProgressBar3D:
|
||||
push_error("Table missing reference to progressbar, or wrong type:", progress_bar)
|
||||
progress_bar.y_billboard = true
|
||||
progress_bar.exponential = true
|
||||
# Render whatever state already arrived from the server before we were in
|
||||
# the tree (see the guard in _refresh_display).
|
||||
_refresh_display.call_deferred()
|
||||
@@ -80,65 +136,118 @@ func _on_object_picked_up(_item) -> void:
|
||||
_absorb_item_if_correct(_item)
|
||||
|
||||
|
||||
func _on_object_dropped() -> void:
|
||||
print("Table: object dropped ")
|
||||
func _on_object_dropped(_item) -> void:
|
||||
print("Table: object dropped, item: ", _item)
|
||||
# If then player picks up a food_item (side) the table has already registerd, unregister
|
||||
var food_item: FoodItem = Helper.find_food_item(_item)
|
||||
if food_item and food_item.type == FoodItem.Type.SIDE:
|
||||
var original_count = _original_orders.count(food_item.id)
|
||||
var unsatisfied_count = _unsatisfied_orders.count(food_item.id)
|
||||
if original_count > unsatisfied_count:
|
||||
_unsatisfied_orders.append(food_item.id)
|
||||
|
||||
|
||||
func _get_plate_from_item(_item: Node) -> PlateController:
|
||||
return _item.get_children().filter(func(c): return c is PlateController).front() as PlateController
|
||||
# original : burger cube, cube
|
||||
# unsatisfied : burger cube
|
||||
# table :
|
||||
|
||||
# There is no on_stay signal, we have to track player with bool
|
||||
func _on_player_enter(_body):
|
||||
_players_count += 1
|
||||
print("Table _on_player_enter() pleryers_count: ", _players_count)
|
||||
|
||||
|
||||
func _on_player_exit(_body):
|
||||
_players_count -= 1
|
||||
print("Table _on_player_exit() pleryers_count: ", _players_count)
|
||||
|
||||
|
||||
func _place_order_if_player():
|
||||
if _state != TableState.ORDERING:
|
||||
return
|
||||
if _players_count > 0:
|
||||
place_order()
|
||||
_setState(TableState.WAITING_PRIMARY)
|
||||
|
||||
|
||||
# func _get_plate_controller_from_item(_item: Node) -> PlateController:
|
||||
# return _item.get_children().filter(func(c): return c is PlateController).front() as PlateController
|
||||
|
||||
|
||||
func _get_plate_controller_from_item(_item: Node) -> PlateController:
|
||||
if not _item:
|
||||
print("_item is null")
|
||||
return null
|
||||
|
||||
for child in _item.get_children():
|
||||
if child is PlateController:
|
||||
print("found child")
|
||||
return child
|
||||
|
||||
print("no match")
|
||||
return null
|
||||
|
||||
|
||||
func _absorb_item_if_correct(_item: Node) -> void:
|
||||
# Get plate controller in childer of _item (hopefully a plate XRpickable)
|
||||
var plate = _get_plate_from_item(_item)
|
||||
if not plate:
|
||||
print("Table: held object is not a Plate")
|
||||
print("Table _absorb_item_if_correct, item: ", _item)
|
||||
if not _item:
|
||||
return
|
||||
if not (_state == TableState.WAITING_PRIMARY or _state == TableState.WAITING_FRIEND):
|
||||
return
|
||||
print("Table: held a Plate!")
|
||||
|
||||
# Absorm items from the plate we want
|
||||
for food_item in plate.container.contained_items:
|
||||
print("Table: held a plate with FoodItem: ", food_item.id)
|
||||
if food_item.id in _unsatisfied_orders:
|
||||
print("Table: held FoodItem is in unsatisfied orders, removing it")
|
||||
_unsatisfied_orders.erase(food_item.id)
|
||||
if _unsatisfied_orders.size() > 0 and _state != TableState.EATING:
|
||||
_setState(TableState.WAITING_FRIEND)
|
||||
# Plate: Get plate controller in child of _item (hopefully a plate XRpickable)
|
||||
var plate_controller = _get_plate_controller_from_item(_item)
|
||||
print("Table _absorb_item_if_correct plate_controller ref: ", plate_controller)
|
||||
_item.print_tree_pretty()
|
||||
|
||||
if plate_controller:
|
||||
# Absorm items from the plate we want
|
||||
for food_item: FoodItem in plate_controller.container.contained_items: # TOOD: handle registering the meal again when a side is added to the plate
|
||||
if food_item.id in _unsatisfied_orders and not food_item.is_absorbed:
|
||||
print("Table: _absorb_item_if_correct held a plate with FoodItem that is in unsatisfied orders, removing it")
|
||||
(plate_controller.get_parent() as XRToolsPickable).get_picked_up_by().enabled = false # Lock meal that is deliverd
|
||||
_unsatisfied_orders.erase(food_item.id)
|
||||
food_item.is_absorbed = true
|
||||
_update_state_from_orders()
|
||||
return
|
||||
|
||||
# Side pickable item, no container
|
||||
var food_item: FoodItem = Helper.find_food_item(_item)
|
||||
if food_item and food_item.type == FoodItem.Type.SIDE:
|
||||
print("Table: _absorb_item_if_correct held a side that is in unsatisfied orders, removing it")
|
||||
# Do not lock snap zone here. Problem if table want many meals, but to many sides have filled up slots, so can't place plates.
|
||||
_unsatisfied_orders.erase(food_item.id)
|
||||
_update_state_from_orders()
|
||||
return
|
||||
|
||||
# Table has everything it wants. Start eating
|
||||
elif _unsatisfied_orders.is_empty() and _state != TableState.EATING:
|
||||
GAME_MANAGER.money += food_item.sell_value
|
||||
audio_player.stream = money_sound
|
||||
audio_player.play()
|
||||
_setState(TableState.EATING)
|
||||
print("Table: absorb_item_if_correct() held object is not a Plate or Side")
|
||||
|
||||
|
||||
func place_order() -> void:
|
||||
print("Table: place_order()")
|
||||
var new_orders = _unsatisfied_orders.duplicate()
|
||||
new_orders.append(GAME_MANAGER.get_random_meal())
|
||||
new_orders.append(GAME_MANAGER.get_random_meal())
|
||||
_set_unsatisfied_orders(new_orders)
|
||||
func _update_state_from_orders():
|
||||
print("Table _update_state_from_orders: unsatisfied_orders: ", _unsatisfied_orders)
|
||||
if _unsatisfied_orders.size() > 0 and _state != TableState.EATING:
|
||||
_setState(TableState.WAITING_FRIEND)
|
||||
|
||||
# Table has everything it wants. Start eating
|
||||
elif _unsatisfied_orders.is_empty() and _state != TableState.EATING:
|
||||
_setState(TableState.EATING)
|
||||
|
||||
|
||||
func satisfyAllOrders() -> void:
|
||||
print("Table: satisfyAllOrders()")
|
||||
_unsatisfied_orders.clear()
|
||||
clearAllPlates()
|
||||
_setState(TableState.EMPTY)
|
||||
|
||||
|
||||
func clearAllPlates() -> void:
|
||||
print("Table: clearAllPlates()")
|
||||
func _collect_money_from_food():
|
||||
for snap_zone_node in snap_zones:
|
||||
var held_object = snap_zone_node.picked_up_object
|
||||
if not held_object:
|
||||
continue
|
||||
|
||||
var plate = _get_plate_from_item(held_object)
|
||||
var plate: PlateController = _get_plate_controller_from_item(held_object)
|
||||
var food_item: FoodItem = Helper.find_food_item(held_object)
|
||||
if plate:
|
||||
plate.container.clear()
|
||||
plate.is_dirty = true
|
||||
for fi: FoodItem in plate.get_food_items():
|
||||
GAME_MANAGER.money += fi.sell_value
|
||||
elif food_item:
|
||||
GAME_MANAGER.money += food_item.sell_value
|
||||
|
||||
print("Table _collect_money_from_food(), money: ", GAME_MANAGER.money)
|
||||
|
||||
|
||||
func _set_snap_zones_enabled(value: bool) -> void:
|
||||
@@ -149,27 +258,62 @@ func _set_snap_zones_enabled(value: bool) -> void:
|
||||
## Server-only state transition: sets the new state's timer and assigns
|
||||
## _state (whose setter refreshes the display on every peer).
|
||||
func _setState(newState: TableState) -> void:
|
||||
print("Table set _state: ", TableState.keys()[newState])
|
||||
print("Table State START: ", TableState.keys()[newState])
|
||||
|
||||
match newState:
|
||||
TableState.EMPTY:
|
||||
_state_time = 5.0
|
||||
_state_duration = 5.0
|
||||
_state_time = randf_range(3, 7)
|
||||
_state_duration = _state_time
|
||||
customers.visible = false
|
||||
_state = newState
|
||||
TableState.THINKING:
|
||||
_state_time = thinking_duration
|
||||
_state_duration = thinking_duration # Can't be done in _set_state(), will set duration inside timer
|
||||
_state = newState
|
||||
TableState.ORDERING:
|
||||
_state_time = ordering_duration
|
||||
_state_duration = ordering_duration
|
||||
_state = newState
|
||||
TableState.WAITING_PRIMARY:
|
||||
_state_time = primary_duration
|
||||
_state_duration = primary_duration
|
||||
_state = newState
|
||||
# Absorm meals that were already in the table when the state starts
|
||||
for zone in snap_zones:
|
||||
_absorb_item_if_correct(zone.picked_up_object)
|
||||
TableState.WAITING_FRIEND:
|
||||
_state_time = friend_duration
|
||||
_state_duration = friend_duration
|
||||
_state = newState
|
||||
TableState.EATING:
|
||||
_state_time = eating_duration
|
||||
_state_duration = eating_duration
|
||||
_collect_money_from_food()
|
||||
_set_snap_zones_enabled(false)
|
||||
audio_player.stream = money_sound
|
||||
audio_player.play()
|
||||
_state = newState
|
||||
|
||||
_state = newState
|
||||
|
||||
# When state timer is finished, do this stuff before moving to next state
|
||||
func _state_end(oldState: TableState):
|
||||
print("Table State END : ", TableState.keys()[oldState])
|
||||
match oldState:
|
||||
TableState.EMPTY:
|
||||
customers.visible = true
|
||||
_setState(TableState.THINKING)
|
||||
|
||||
TableState.THINKING:
|
||||
_setState(TableState.ORDERING)
|
||||
|
||||
TableState.EATING:
|
||||
clearAllFood()
|
||||
_set_snap_zones_enabled(true)
|
||||
_setState(TableState.EMPTY)
|
||||
|
||||
TableState.ORDERING, TableState.WAITING_PRIMARY, TableState.WAITING_FRIEND:
|
||||
label_3d.text = lbl_gameover
|
||||
GAME_MANAGER.game_over()
|
||||
|
||||
|
||||
## Pure presentation, driven off the current (locally authoritative or
|
||||
@@ -181,14 +325,19 @@ func _refresh_display() -> void:
|
||||
# null. Bail out until _ready() has resolved them; _ready() calls back in
|
||||
# once it has, so nothing that arrived early is lost.
|
||||
if not progress_bar or not label_3d or not label_3d_time:
|
||||
push_error("Table missing progress bar or label")
|
||||
return
|
||||
match _state:
|
||||
TableState.EMPTY:
|
||||
progress_bar.set_bar_visible(false)
|
||||
label_3d.text = "empty"
|
||||
label_3d.text = ""
|
||||
TableState.THINKING:
|
||||
progress_bar.set_bar_visible(false)
|
||||
label_3d.text = lbl_thinking
|
||||
TableState.ORDERING:
|
||||
progress_bar.set_bar_visible(true)
|
||||
progress_bar.override_fill_color(Color.RED if _state_time < 10 else Color.YELLOW)
|
||||
label_3d.text = lbl_ordering
|
||||
TableState.WAITING_PRIMARY:
|
||||
label_3d.text = "%s\n%s" % [TableState.keys()[_state], "\n".join(_unsatisfied_orders)]
|
||||
progress_bar.set_bar_visible(true)
|
||||
@@ -205,53 +354,15 @@ func _refresh_display() -> void:
|
||||
progress_bar.set_progress(clampf(float(_state_time) / _state_duration, 0.0, 1.0))
|
||||
|
||||
|
||||
func _set_state(value: TableState) -> void:
|
||||
_state = value
|
||||
_refresh_display()
|
||||
|
||||
|
||||
func _set_state_time(value: float) -> void:
|
||||
_state_time = value
|
||||
_refresh_display()
|
||||
|
||||
|
||||
func _set_unsatisfied_orders(value: Array[String]) -> void:
|
||||
_unsatisfied_orders = value
|
||||
_refresh_display()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
_refresh_display()
|
||||
_place_order_if_player()
|
||||
|
||||
# Wait for state to finish
|
||||
if _state_time > 0.0:
|
||||
_state_time = max(0.0, _state_time - delta)
|
||||
return
|
||||
|
||||
if GAME_MANAGER.game_state == GAME_MANAGER.GameState.GAME_OVER:
|
||||
return
|
||||
|
||||
# When state timer is finished, do this stuff before moving to next state
|
||||
match _state:
|
||||
TableState.EMPTY:
|
||||
print("Table State EMPTY finish")
|
||||
_setState(TableState.THINKING)
|
||||
|
||||
TableState.THINKING:
|
||||
print("Table State THINKING finish")
|
||||
place_order()
|
||||
_setState(TableState.WAITING_PRIMARY)
|
||||
|
||||
TableState.WAITING_PRIMARY:
|
||||
print("Table State WAITING_PRIMARY finish")
|
||||
label_3d.text = lbl_gameover
|
||||
GAME_MANAGER.game_over()
|
||||
|
||||
TableState.WAITING_FRIEND:
|
||||
print("Table State WAITING_FRIEND finish")
|
||||
label_3d.text = lbl_gameover
|
||||
GAME_MANAGER.game_over()
|
||||
|
||||
TableState.EATING:
|
||||
print("Table State EATING finish")
|
||||
clearAllPlates()
|
||||
_set_snap_zones_enabled(true)
|
||||
_setState(TableState.EMPTY)
|
||||
_state_end(_state)
|
||||
|
||||
+30
-18
@@ -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_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"]
|
||||
[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"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"]
|
||||
size = Vector3(0.6, 1, 0.6)
|
||||
@@ -26,9 +26,12 @@ properties/2/path = NodePath(".:_unsatisfied_orders")
|
||||
properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
|
||||
[node name="Table" type="StaticBody3D" unique_id=1863572470 groups=["station"]]
|
||||
script = ExtResource("1_aecp7")
|
||||
money_sound = ExtResource("2_5mi7y")
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
size = Vector3(2.1, 0.5, 2.1)
|
||||
|
||||
[node name="Table" type="StaticBody3D" unique_id=1863572470 groups=["station", "table"]]
|
||||
script = ExtResource("1_2vcpj")
|
||||
money_sound = ExtResource("2_jslhm")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=228053941]
|
||||
shape = SubResource("BoxShape3D_24d3s")
|
||||
@@ -37,8 +40,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("3_03yai")
|
||||
stash_sound = ExtResource("4_grjry")
|
||||
script = ExtResource("1_8j1nt")
|
||||
stash_sound = ExtResource("3_0s6ir")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
@@ -53,8 +56,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("3_03yai")
|
||||
stash_sound = ExtResource("4_grjry")
|
||||
script = ExtResource("1_8j1nt")
|
||||
stash_sound = ExtResource("3_0s6ir")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
@@ -69,8 +72,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("3_03yai")
|
||||
stash_sound = ExtResource("4_grjry")
|
||||
script = ExtResource("1_8j1nt")
|
||||
stash_sound = ExtResource("3_0s6ir")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
@@ -85,8 +88,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("3_03yai")
|
||||
stash_sound = ExtResource("4_grjry")
|
||||
script = ExtResource("1_8j1nt")
|
||||
stash_sound = ExtResource("3_0s6ir")
|
||||
snap_mode = 1
|
||||
metadata/_custom_type_script = "uid://cquqe4f1m1sw6"
|
||||
|
||||
@@ -184,7 +187,7 @@ vertical_alignment = 0
|
||||
line_spacing = -15.0
|
||||
|
||||
[node name="Label3DTime" type="Label3D" parent="." unique_id=1534849507]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.4532461, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.513246, 0)
|
||||
pixel_size = 0.003
|
||||
billboard = 2
|
||||
text = "20.1s"
|
||||
@@ -192,9 +195,18 @@ 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("5_sldpd")]
|
||||
[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("3_kjf1i")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3676775, 0)
|
||||
y_billboard = true
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="." unique_id=724610642]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2935008, 0)
|
||||
|
||||
[node name="PlayerDetectArea3D" type="Area3D" parent="." unique_id=913445150]
|
||||
collision_mask = 524288
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetectArea3D" unique_id=1538221021]
|
||||
shape = SubResource("BoxShape3D_vlqg6")
|
||||
|
||||
[connection signal="body_entered" from="PlayerDetectArea3D" to="." method="_on_player_enter"]
|
||||
[connection signal="body_exited" from="PlayerDetectArea3D" to="." method="_on_player_exit"]
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
extends Control
|
||||
|
||||
@onready var _Restart_btn: Button = %Restart
|
||||
const GAME_MANAGER = preload("res://scripts/game_manager.gd")
|
||||
const GAME_MANAGER = preload("res://GameManager.gd")
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_Restart_btn.pressed.connect(_restart)
|
||||
|
||||
+43
-30
@@ -5,9 +5,9 @@ extends Control
|
||||
## multiplayer game, or join one by IP, driving scene switches + NetworkManager
|
||||
## directly.
|
||||
|
||||
const JON_SCENE := "res://Scenes/jon_scene.tscn"
|
||||
const JON_SCENE := "res://Scenes/JonScene.tscn"
|
||||
const MULTIPLAYER_SCENE := "res://Scenes/multiPlayer.tscn"
|
||||
const SETTINGS_PATH := "user://vryhungry_settings.cfg"
|
||||
const MULTIPLAYER_SCENE := "res://Scenes/multiplayer.tscn"
|
||||
|
||||
var _ip := "127.0.0.1"
|
||||
|
||||
@@ -22,12 +22,10 @@ var _ip := "127.0.0.1"
|
||||
@onready var _join_btn: Button = %JoinButton
|
||||
@onready var _back_btn: Button = %BackButton
|
||||
|
||||
# store original text so we can say "connecting..." while pinging server
|
||||
var original_join_text: String
|
||||
|
||||
func _ready() -> void:
|
||||
print("Menu Panel _ready")
|
||||
|
||||
if _bypass_menu_for_cmdline():
|
||||
return
|
||||
for child in _keypad.get_children():
|
||||
if child is Button:
|
||||
child.pressed.connect(_on_key.bind(child.text))
|
||||
@@ -36,25 +34,45 @@ func _ready() -> void:
|
||||
_join_menu_btn.pressed.connect(_show_join_view)
|
||||
_join_btn.pressed.connect(_on_join_pressed)
|
||||
_back_btn.pressed.connect(_show_root_view)
|
||||
|
||||
NetworkManager.connection_failed.connect(_handle_connection_failed)
|
||||
_load_ip()
|
||||
_show_root_view()
|
||||
_refresh_ip()
|
||||
original_join_text = _join_btn.text
|
||||
# Show why we're back here, if the last session ended unexpectedly
|
||||
# (dropped connection, failed join). Pulled rather than pushed, since
|
||||
# NetworkManager may have set this before this panel even existed.
|
||||
var status := NetworkManager.take_status()
|
||||
if not status.is_empty():
|
||||
set_status(status)
|
||||
|
||||
|
||||
## --server / --join <ip> on the command line skip straight to the multiplayer
|
||||
## scene, same as the previously headless-tested main.tscn flow.
|
||||
func _bypass_menu_for_cmdline() -> bool:
|
||||
var args := OS.get_cmdline_user_args()
|
||||
if args.has("--server"):
|
||||
NetworkManager.request_host()
|
||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||
return true
|
||||
if args.has("--join"):
|
||||
var idx := args.find("--join")
|
||||
var addr := "127.0.0.1"
|
||||
if idx + 1 < args.size():
|
||||
addr = args[idx + 1]
|
||||
NetworkManager.request_join(addr)
|
||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||
return true
|
||||
return false
|
||||
|
||||
|
||||
func _show_root_view() -> void:
|
||||
print("Menu Panel show root view")
|
||||
_root_view.visible = true
|
||||
_join_view.visible = false
|
||||
|
||||
|
||||
func _show_join_view() -> void:
|
||||
print("Menu Panel show join view")
|
||||
_root_view.visible = false
|
||||
_join_view.visible = true
|
||||
_status.text= "Enter host IP, then Join"
|
||||
_status.add_theme_color_override("font_color", Color.WHITE)
|
||||
set_status("Enter host IP, then Join")
|
||||
|
||||
|
||||
func _on_key(key: String) -> void:
|
||||
@@ -72,34 +90,22 @@ func _refresh_ip() -> void:
|
||||
|
||||
|
||||
func _on_john_pressed() -> void:
|
||||
print("Menu Panel press jon_scene")
|
||||
NetworkManager.leave()
|
||||
get_tree().change_scene_to_file.call_deferred(JON_SCENE)
|
||||
|
||||
|
||||
func _on_host_pressed() -> void:
|
||||
print("Menu Panel press host")
|
||||
NetworkManager.host()
|
||||
NetworkManager.request_host()
|
||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||
|
||||
|
||||
func _on_join_pressed() -> void:
|
||||
print("Menu Panel press join")
|
||||
if _ip.is_empty():
|
||||
_status.text= "Enter an IP first"
|
||||
_status.add_theme_color_override("font_color", Color.ORANGE)
|
||||
set_status("Enter an IP first")
|
||||
return
|
||||
_save_ip()
|
||||
_join_btn.disabled = true
|
||||
_join_btn.text = "Connecting..."
|
||||
NetworkManager.join(_ip)
|
||||
|
||||
|
||||
func _handle_connection_failed():
|
||||
print("Menu Panel _handle_connection_failed")
|
||||
_status.text= "Connection failed"
|
||||
_status.add_theme_color_override("font_color", Color.RED)
|
||||
_join_btn.disabled = false
|
||||
_join_btn.text = original_join_text
|
||||
NetworkManager.request_join(_ip)
|
||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||
|
||||
|
||||
## Remembers the last IP the player tried to join, so the keypad starts
|
||||
@@ -115,3 +121,10 @@ func _save_ip() -> void:
|
||||
cfg.load(SETTINGS_PATH)
|
||||
cfg.set_value("network", "last_ip", _ip)
|
||||
cfg.save(SETTINGS_PATH)
|
||||
|
||||
|
||||
## Called by network_manager (e.g. on connection_failed after a bounce back to
|
||||
## this menu) to show feedback.
|
||||
func set_status(text: String) -> void:
|
||||
if _status:
|
||||
_status.text = text
|
||||
|
||||
+37
-42
@@ -1,102 +1,97 @@
|
||||
[gd_scene format=3 uid="uid://jispfagyh1di"]
|
||||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" uid="uid://crs47shds8bm4" path="res://ui/main_menu_panel.gd" id="1_panel"]
|
||||
[ext_resource type="Script" path="res://UI/main_menu_panel.gd" id="1_panel"]
|
||||
|
||||
[node name="MainMenuPanel" type="Control" unique_id=1716965055]
|
||||
[node name="MainMenuPanel" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_panel")
|
||||
|
||||
[node name="Background" type="ColorRect" parent="." unique_id=417297929]
|
||||
[node name="Background" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.09, 0.1, 0.13, 1)
|
||||
|
||||
[node name="Margin" type="MarginContainer" parent="." unique_id=122841427]
|
||||
[node name="Margin" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 24
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 24
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="Title" type="Label" parent="Margin" unique_id=1426156127]
|
||||
[node name="Title" type="Label" parent="Margin"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "VRyHungry"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Status" type="Label" parent="Margin" unique_id=672946938]
|
||||
[node name="Status" type="Label" parent="Margin"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_colors/font_color = Color(0.8, 0.8, 0.5, 1)
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = ""
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="RootView" type="VBoxContainer" parent="Margin" unique_id=1020931014]
|
||||
[node name="RootView" type="VBoxContainer" parent="Margin"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 14
|
||||
|
||||
[node name="Spacer" type="Control" parent="Margin/RootView" unique_id=1907673970]
|
||||
[node name="Spacer" type="Control" parent="Margin/RootView"]
|
||||
custom_minimum_size = Vector2(0, 36)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="JohnButton" type="Button" parent="Margin/RootView" unique_id=593797044]
|
||||
[node name="JohnButton" type="Button" parent="Margin/RootView"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 64)
|
||||
layout_mode = 2
|
||||
custom_minimum_size = Vector2(0, 64)
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Play John's Scene"
|
||||
|
||||
[node name="HostButton" type="Button" parent="Margin/RootView" unique_id=2142523398]
|
||||
[node name="HostButton" type="Button" parent="Margin/RootView"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 64)
|
||||
layout_mode = 2
|
||||
custom_minimum_size = Vector2(0, 64)
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Host Multiplayer"
|
||||
|
||||
[node name="JoinMenuButton" type="Button" parent="Margin/RootView" unique_id=1379606559]
|
||||
[node name="JoinMenuButton" type="Button" parent="Margin/RootView"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 64)
|
||||
layout_mode = 2
|
||||
custom_minimum_size = Vector2(0, 64)
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Join Multiplayer"
|
||||
|
||||
[node name="JoinView" type="VBoxContainer" parent="Margin" unique_id=1763078998]
|
||||
[node name="JoinView" type="VBoxContainer" parent="Margin"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="Title" type="Label" parent="Margin/JoinView" unique_id=309630334]
|
||||
[node name="Title" type="Label" parent="Margin/JoinView"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "Join Multiplayer"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="IPLabel" type="Label" parent="Margin/JoinView" unique_id=108493382]
|
||||
[node name="IPLabel" type="Label" parent="Margin/JoinView"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 34
|
||||
text = "127.0.0.1"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Keypad" type="GridContainer" parent="Margin/JoinView" unique_id=1454498030]
|
||||
[node name="Keypad" type="GridContainer" parent="Margin/JoinView"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
@@ -104,106 +99,106 @@ theme_override_constants/h_separation = 8
|
||||
theme_override_constants/v_separation = 8
|
||||
columns = 3
|
||||
|
||||
[node name="B1" type="Button" parent="Margin/JoinView/Keypad" unique_id=535729591]
|
||||
[node name="B1" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "1"
|
||||
|
||||
[node name="B2" type="Button" parent="Margin/JoinView/Keypad" unique_id=439142035]
|
||||
[node name="B2" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "2"
|
||||
|
||||
[node name="B3" type="Button" parent="Margin/JoinView/Keypad" unique_id=20138366]
|
||||
[node name="B3" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "3"
|
||||
|
||||
[node name="B4" type="Button" parent="Margin/JoinView/Keypad" unique_id=1142576108]
|
||||
[node name="B4" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "4"
|
||||
|
||||
[node name="B5" type="Button" parent="Margin/JoinView/Keypad" unique_id=422202098]
|
||||
[node name="B5" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "5"
|
||||
|
||||
[node name="B6" type="Button" parent="Margin/JoinView/Keypad" unique_id=652822802]
|
||||
[node name="B6" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "6"
|
||||
|
||||
[node name="B7" type="Button" parent="Margin/JoinView/Keypad" unique_id=1644038518]
|
||||
[node name="B7" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "7"
|
||||
|
||||
[node name="B8" type="Button" parent="Margin/JoinView/Keypad" unique_id=2009764487]
|
||||
[node name="B8" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "8"
|
||||
|
||||
[node name="B9" type="Button" parent="Margin/JoinView/Keypad" unique_id=809575757]
|
||||
[node name="B9" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "9"
|
||||
|
||||
[node name="BDot" type="Button" parent="Margin/JoinView/Keypad" unique_id=2136562018]
|
||||
[node name="BDot" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "."
|
||||
|
||||
[node name="B0" type="Button" parent="Margin/JoinView/Keypad" unique_id=2008425599]
|
||||
[node name="B0" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "0"
|
||||
|
||||
[node name="BDel" type="Button" parent="Margin/JoinView/Keypad" unique_id=413462771]
|
||||
[node name="BDel" type="Button" parent="Margin/JoinView/Keypad"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "DEL"
|
||||
|
||||
[node name="Buttons" type="HBoxContainer" parent="Margin/JoinView" unique_id=2121996996]
|
||||
[node name="Buttons" type="HBoxContainer" parent="Margin/JoinView"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="JoinButton" type="Button" parent="Margin/JoinView/Buttons" unique_id=1797756998]
|
||||
[node name="JoinButton" type="Button" parent="Margin/JoinView/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 56)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
custom_minimum_size = Vector2(0, 56)
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "JOIN"
|
||||
|
||||
[node name="BackButton" type="Button" parent="Margin/JoinView/Buttons" unique_id=704422546]
|
||||
[node name="BackButton" type="Button" parent="Margin/JoinView/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 56)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
custom_minimum_size = Vector2(0, 56)
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "BACK"
|
||||
|
||||
@@ -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")
|
||||
@@ -17,6 +17,7 @@ transparent_bg = true
|
||||
size = Vector2i(320, 80)
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="Sprite3D/SubViewport" unique_id=727723524]
|
||||
custom_minimum_size = Vector2(0, 400)
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
@@ -30,3 +31,4 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
show_percentage = false
|
||||
|
||||
@@ -2,6 +2,7 @@ extends Node3D
|
||||
class_name ProgressBar3D
|
||||
|
||||
@export var y_billboard: bool = false
|
||||
@export var exponential:bool = false
|
||||
|
||||
@onready var progress_bar: ProgressBar = $Sprite3D/SubViewport/ProgressBar
|
||||
@onready var sprite_3d: Sprite3D = $Sprite3D
|
||||
@@ -14,7 +15,10 @@ func _ready() -> void:
|
||||
$Sprite3D.billboard = BaseMaterial3D.BillboardMode.BILLBOARD_FIXED_Y
|
||||
|
||||
func set_progress(value: float) -> void:
|
||||
progress_bar.value = clamp(value, 0.0, 1.0) * 100
|
||||
if exponential:
|
||||
progress_bar.value = clamp(pow(value, 2.1), 0.0, 1.0) * 100
|
||||
else:
|
||||
progress_bar.value = clamp(value, 0.0, 1.0) * 100
|
||||
|
||||
|
||||
func get_progress() -> float:
|
||||
|
||||
@@ -11,10 +11,8 @@
|
||||
[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")]
|
||||
@@ -32,7 +30,6 @@ 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")]
|
||||
@@ -7,7 +7,7 @@ extends Area3D
|
||||
signal has_picked_up(what)
|
||||
|
||||
## Signal emitted when the snap-zone drops something
|
||||
signal has_dropped
|
||||
signal has_dropped(what)
|
||||
|
||||
# Signal emitted when the highlight state changes
|
||||
signal highlight_updated(pickable, enable)
|
||||
@@ -164,9 +164,9 @@ func drop_object() -> void:
|
||||
return
|
||||
|
||||
# let go of this object
|
||||
has_dropped.emit(picked_up_object)
|
||||
picked_up_object.let_go(self, Vector3.ZERO, Vector3.ZERO)
|
||||
picked_up_object = null
|
||||
has_dropped.emit()
|
||||
highlight_updated.emit(self, enabled)
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene format=3 uid="uid://clujaf3u776a3"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://clujaf3u776a3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://eavk7267igp7" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.gd" id="1"]
|
||||
[ext_resource type="Script" uid="uid://cpl5yiyf1ypft" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd" id="2"]
|
||||
@@ -7,44 +7,41 @@
|
||||
resource_local_to_scene = true
|
||||
size = Vector2(3, 2)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_gvc48"]
|
||||
viewport_path = NodePath("Viewport")
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_ufe4n"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4gj7x"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fvml0"]
|
||||
transparency = 1
|
||||
cull_mode = 2
|
||||
albedo_texture = SubResource("ViewportTexture_gvc48")
|
||||
albedo_texture = SubResource("ViewportTexture_ufe4n")
|
||||
texture_filter = 1
|
||||
|
||||
[sub_resource type="BoxShape3D" id="4"]
|
||||
resource_local_to_scene = true
|
||||
size = Vector3(3, 2, 0.02)
|
||||
|
||||
[node name="Viewport2Din3D" type="Node3D" unique_id=1136024888]
|
||||
[node name="Viewport2Din3D" type="Node3D"]
|
||||
script = ExtResource("1")
|
||||
transparent = 1
|
||||
alpha_scissor_threshold = 0.25
|
||||
unshaded = false
|
||||
filter = true
|
||||
scene_properties_keys = PackedStringArray()
|
||||
|
||||
[node name="Viewport" type="SubViewport" parent="." unique_id=1205536037]
|
||||
[node name="Viewport" type="SubViewport" parent="."]
|
||||
disable_3d = true
|
||||
transparent_bg = true
|
||||
gui_embed_subwindows = true
|
||||
size = Vector2i(300, 200)
|
||||
render_target_update_mode = 1
|
||||
|
||||
[node name="Screen" type="MeshInstance3D" parent="." unique_id=1799394652]
|
||||
[node name="Screen" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("1")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_4gj7x")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_fvml0")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=959647424]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||
collision_layer = 5242881
|
||||
collision_mask = 0
|
||||
script = ExtResource("2")
|
||||
viewport_size = Vector2(300, 200)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" unique_id=1695382741]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.01)
|
||||
shape = SubResource("4")
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
[gd_scene format=3 uid="uid://cey1s10v2xufq"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="1_iwheq"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="2_ad3hj"]
|
||||
[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="3_rsv28"]
|
||||
[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="4_drmjc"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="5_ad3hj"]
|
||||
[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="6_rsv28"]
|
||||
|
||||
[node name="SmallLine" type="Node3D" unique_id=50655734]
|
||||
|
||||
[node name="Hob" parent="." unique_id=1687971542 instance=ExtResource("1_iwheq")]
|
||||
|
||||
[node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("2_ad3hj")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 0)
|
||||
|
||||
[node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("3_rsv28")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 0)
|
||||
|
||||
[node name="RawBurgerDispenser" parent="." unique_id=235630131 instance=ExtResource("4_drmjc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 0)
|
||||
|
||||
[node name="BurgerBunsDispenser" parent="." unique_id=1720683779 instance=ExtResource("5_ad3hj")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0, 0)
|
||||
|
||||
[node name="PlateDispenser" parent="." unique_id=710538846 instance=ExtResource("6_rsv28")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, 0, 0)
|
||||
@@ -0,0 +1,352 @@
|
||||
[gd_scene format=3 uid="uid://bu6jt26pq2y0k"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://q37nqadkibbp" path="res://scenes/door.tscn" id="1_hgrxd"]
|
||||
[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="1_p8umn"]
|
||||
[ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="2_d63j6"]
|
||||
[ext_resource type="PackedScene" uid="uid://dlw5geheupgpt" path="res://stations/hatch.tscn" id="3_d63j6"]
|
||||
[ext_resource type="PackedScene" uid="uid://da6yrsnxvsrif" path="res://scenes/wall.tscn" id="4_41vpv"]
|
||||
[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="6_orihb"]
|
||||
[ext_resource type="PackedScene" uid="uid://ck5tuftqmyiue" path="res://stations/plate_dispenser.tscn" id="7_pfjwm"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="8_sov4h"]
|
||||
[ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="9_7cge2"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="10_7e78q"]
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_vlqg6"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"]
|
||||
albedo_color = Color(0.35, 0.12250001, 0.12250001, 1)
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_vlqg6"]
|
||||
material = SubResource("StandardMaterial3D_24d3s")
|
||||
size = Vector2(6, 10)
|
||||
center_offset = Vector3(3, 0, 0)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yqrpd"]
|
||||
albedo_color = Color(0.35, 0.35, 0.35, 1)
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_kk3mq"]
|
||||
material = SubResource("StandardMaterial3D_yqrpd")
|
||||
size = Vector2(6, 10)
|
||||
center_offset = Vector3(-3, 0, 0)
|
||||
|
||||
[node name="Resturant" type="Node3D" unique_id=1083608050]
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=1814285538]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" unique_id=1661443874]
|
||||
shape = SubResource("WorldBoundaryShape3D_vlqg6")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=888732490]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||
mesh = SubResource("PlaneMesh_vlqg6")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="." unique_id=836421800]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||
mesh = SubResource("PlaneMesh_kk3mq")
|
||||
|
||||
[node name="Door" parent="." unique_id=964400290 instance=ExtResource("1_hgrxd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, 0)
|
||||
|
||||
[node name="Walls" type="Node3D" parent="." unique_id=1804204696]
|
||||
|
||||
[node name="Wall" parent="Walls" unique_id=434181749 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6000001, 0, 0)
|
||||
|
||||
[node name="Wall2" parent="Walls" unique_id=1183111925 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2, 0, 0)
|
||||
|
||||
[node name="Wall3" parent="Walls" unique_id=1561473949 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 0)
|
||||
|
||||
[node name="Wall4" parent="Walls" unique_id=1593528497 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.60000014, 0, 0)
|
||||
|
||||
[node name="Wall5" parent="Walls" unique_id=2071060763 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3841858e-07, 0, 0)
|
||||
|
||||
[node name="Wall6" parent="Walls" unique_id=1607012472 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5999999, 0, 0)
|
||||
|
||||
[node name="Wall7" parent="Walls" unique_id=990512055 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="Wall8" parent="Walls" unique_id=751907897 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.200001, 0, 0)
|
||||
|
||||
[node name="Wall9" parent="Walls" unique_id=358743133 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6000004, 0, 0)
|
||||
|
||||
[node name="Wall10" parent="Walls" unique_id=1374842161 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2000002, 0, 0)
|
||||
|
||||
[node name="Wall11" parent="Walls" unique_id=1408132826 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, 0)
|
||||
|
||||
[node name="Wall12" parent="Walls" unique_id=1937209307 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.60000014, 0, -6)
|
||||
|
||||
[node name="Wall13" parent="Walls" unique_id=1714975985 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3841858e-07, 0, -6)
|
||||
|
||||
[node name="Wall14" parent="Walls" unique_id=1732121903 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5999999, 0, -6)
|
||||
|
||||
[node name="Wall15" parent="Walls" unique_id=1311494308 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2000002, 0, -6)
|
||||
|
||||
[node name="Wall16" parent="Walls" unique_id=364484178 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, -6)
|
||||
|
||||
[node name="Wall17" parent="Walls" unique_id=485501605 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3999999, 0, -6)
|
||||
|
||||
[node name="Wall18" parent="Walls" unique_id=378206350 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.9999998, 0, -6)
|
||||
|
||||
[node name="Wall19" parent="Walls" unique_id=294380188 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6, 0, -6)
|
||||
|
||||
[node name="Wall20" parent="Walls" unique_id=1122365254 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7999998, 0, -6)
|
||||
|
||||
[node name="Wall21" parent="Walls" unique_id=111446334 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1999998, 0, -6)
|
||||
|
||||
[node name="Wall22" parent="Walls" unique_id=999769595 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6000001, 0, -6)
|
||||
|
||||
[node name="Wall23" parent="Walls" unique_id=1832835858 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0000002, 0, -6)
|
||||
|
||||
[node name="Wall24" parent="Walls" unique_id=927052367 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, -6)
|
||||
|
||||
[node name="Wall25" parent="Walls" unique_id=1163278593 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2000003, 0, -6)
|
||||
|
||||
[node name="Wall26" parent="Walls" unique_id=1074868471 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -6)
|
||||
|
||||
[node name="Wall27" parent="Walls" unique_id=510219954 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2, 0, -6)
|
||||
|
||||
[node name="Wall28" parent="Walls" unique_id=1615161517 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, -6)
|
||||
|
||||
[node name="Wall29" parent="Walls" unique_id=11605666 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.60000014, 0, 6)
|
||||
|
||||
[node name="Wall30" parent="Walls" unique_id=2032513926 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3841858e-07, 0, 6)
|
||||
|
||||
[node name="Wall31" parent="Walls" unique_id=1308803807 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5999999, 0, 6)
|
||||
|
||||
[node name="Wall32" parent="Walls" unique_id=493869823 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2000002, 0, 6)
|
||||
|
||||
[node name="Wall33" parent="Walls" unique_id=699535234 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, 6)
|
||||
|
||||
[node name="Wall34" parent="Walls" unique_id=238973326 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3999999, 0, 6)
|
||||
|
||||
[node name="Wall35" parent="Walls" unique_id=836717647 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.9999998, 0, 6)
|
||||
|
||||
[node name="Wall36" parent="Walls" unique_id=446988148 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6, 0, 6)
|
||||
|
||||
[node name="Wall37" parent="Walls" unique_id=49950412 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7999998, 0, 6)
|
||||
|
||||
[node name="Wall38" parent="Walls" unique_id=607255208 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1999998, 0, 6)
|
||||
|
||||
[node name="Wall39" parent="Walls" unique_id=1089866573 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6000001, 0, 6)
|
||||
|
||||
[node name="Wall40" parent="Walls" unique_id=2078240231 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0000002, 0, 6)
|
||||
|
||||
[node name="Wall41" parent="Walls" unique_id=592669722 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, 6)
|
||||
|
||||
[node name="Wall42" parent="Walls" unique_id=1393176200 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2000003, 0, 6)
|
||||
|
||||
[node name="Wall43" parent="Walls" unique_id=1885346301 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 6)
|
||||
|
||||
[node name="Wall44" parent="Walls" unique_id=2021916640 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2, 0, 6)
|
||||
|
||||
[node name="Wall45" parent="Walls" unique_id=1289086279 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 6)
|
||||
|
||||
[node name="Wall46" parent="Walls" unique_id=396503450 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 1.2000003)
|
||||
|
||||
[node name="Wall47" parent="Walls" unique_id=300373285 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 0.6000004)
|
||||
|
||||
[node name="Wall49" parent="Walls" unique_id=1072273787 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 1.8000002)
|
||||
|
||||
[node name="Wall50" parent="Walls" unique_id=896022741 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 2.4000006)
|
||||
|
||||
[node name="Wall51" parent="Walls" unique_id=2089599721 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -1.7999992)
|
||||
|
||||
[node name="Wall52" parent="Walls" unique_id=965479737 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -2.3999996)
|
||||
|
||||
[node name="Wall53" parent="Walls" unique_id=43762332 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -3)
|
||||
|
||||
[node name="Wall54" parent="Walls" unique_id=921007094 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -1.1999998)
|
||||
|
||||
[node name="Wall55" parent="Walls" unique_id=2144411980 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, -0.5999994)
|
||||
|
||||
[node name="Wall56" parent="Walls" unique_id=370330637 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 4.2000003)
|
||||
|
||||
[node name="Wall57" parent="Walls" unique_id=537562206 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 3.6000004)
|
||||
|
||||
[node name="Wall58" parent="Walls" unique_id=1918288432 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 3.0000002)
|
||||
|
||||
[node name="Wall59" parent="Walls" unique_id=944759951 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 4.8000007)
|
||||
|
||||
[node name="Wall60" parent="Walls" unique_id=1128237563 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8, 0, 5.4000006)
|
||||
|
||||
[node name="Wall61" parent="Walls" unique_id=1755969864 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -3.5999994)
|
||||
|
||||
[node name="Wall62" parent="Walls" unique_id=949006312 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -4.2)
|
||||
|
||||
[node name="Wall63" parent="Walls" unique_id=1826688195 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -4.799999)
|
||||
|
||||
[node name="Wall64" parent="Walls" unique_id=116523059 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.8000007, 0, -5.3999996)
|
||||
|
||||
[node name="Wall65" parent="Walls" unique_id=711153775 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 1.2000003)
|
||||
|
||||
[node name="Wall66" parent="Walls" unique_id=741047 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 0.6000004)
|
||||
|
||||
[node name="Wall67" parent="Walls" unique_id=664067327 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 1.8000002)
|
||||
|
||||
[node name="Wall68" parent="Walls" unique_id=1294537251 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 2.4000006)
|
||||
|
||||
[node name="Wall69" parent="Walls" unique_id=1152383 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -1.7999992)
|
||||
|
||||
[node name="Wall70" parent="Walls" unique_id=1710172322 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -2.3999996)
|
||||
|
||||
[node name="Wall71" parent="Walls" unique_id=597518110 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -3)
|
||||
|
||||
[node name="Wall72" parent="Walls" unique_id=1028573693 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -1.1999998)
|
||||
|
||||
[node name="Wall73" parent="Walls" unique_id=1232042046 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, -0.5999994)
|
||||
|
||||
[node name="Wall74" parent="Walls" unique_id=1159091046 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 4.2000003)
|
||||
|
||||
[node name="Wall75" parent="Walls" unique_id=904470924 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 3.6000004)
|
||||
|
||||
[node name="Wall76" parent="Walls" unique_id=1709758099 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 3.0000002)
|
||||
|
||||
[node name="Wall77" parent="Walls" unique_id=1252446997 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 4.8000007)
|
||||
|
||||
[node name="Wall78" parent="Walls" unique_id=1207579491 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.8, 0, 5.4000006)
|
||||
|
||||
[node name="Wall79" parent="Walls" unique_id=1798073342 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -3.5999994)
|
||||
|
||||
[node name="Wall80" parent="Walls" unique_id=36005990 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -4.2)
|
||||
|
||||
[node name="Wall81" parent="Walls" unique_id=79516947 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -4.799999)
|
||||
|
||||
[node name="Wall82" parent="Walls" unique_id=1363235805 instance=ExtResource("4_41vpv")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.7999997, 0, -5.3999996)
|
||||
|
||||
[node name="Hatches" type="Node3D" parent="." unique_id=1561045769]
|
||||
|
||||
[node name="ServingCounter" parent="Hatches" unique_id=1341321603 instance=ExtResource("3_d63j6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 0)
|
||||
|
||||
[node name="ServingCounter2" parent="Hatches" unique_id=1325232371 instance=ExtResource("3_d63j6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8000001, 0, 0)
|
||||
|
||||
[node name="ServingCounter3" parent="Hatches" unique_id=539914523 instance=ExtResource("3_d63j6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 0)
|
||||
|
||||
[node name="ServingCounter4" parent="Hatches" unique_id=2078770951 instance=ExtResource("3_d63j6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0, 0)
|
||||
|
||||
[node name="ServingCounter5" parent="Hatches" unique_id=2019049083 instance=ExtResource("3_d63j6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
|
||||
|
||||
[node name="Table" parent="." unique_id=1863572470 instance=ExtResource("2_d63j6")]
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 3, 0.48000002, -3)
|
||||
|
||||
[node name="Table2" parent="." unique_id=1457688277 instance=ExtResource("2_d63j6")]
|
||||
transform = Transform3D(1, 0, -1.7484555e-07, 0, 1, 0, 1.7484555e-07, 0, 1, 0.5999999, 0.48000002, -3)
|
||||
|
||||
[node name="Hob" parent="." unique_id=172418174 instance=ExtResource("1_p8umn")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4.2000003, 0.54, 1.7999992)
|
||||
|
||||
[node name="Hob2" parent="." unique_id=980569400 instance=ExtResource("1_p8umn")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4.200001, 0.54, 1.1999999)
|
||||
|
||||
[node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("6_orihb")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.200001, 0.54, 2.3999996)
|
||||
|
||||
[node name="Counter2" parent="." unique_id=5128912 instance=ExtResource("6_orihb")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.200001, 0.54, 3)
|
||||
|
||||
[node name="Counter3" parent="." unique_id=1298458612 instance=ExtResource("6_orihb")]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.2000003, 0.54, 0.5999999)
|
||||
|
||||
[node name="Counter4" parent="." unique_id=1764980142 instance=ExtResource("6_orihb")]
|
||||
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.7683716e-07, 0.54, 2.3999996)
|
||||
|
||||
[node name="Counter5" parent="." unique_id=1015820252 instance=ExtResource("6_orihb")]
|
||||
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.7683716e-07, 0.54, 3)
|
||||
|
||||
[node name="PlateDispenser" parent="." unique_id=710538846 instance=ExtResource("7_pfjwm")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
|
||||
|
||||
[node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("8_sov4h")]
|
||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0.6, 0.48000002, -0.6)
|
||||
|
||||
[node name="Counter6" parent="." unique_id=2141915043 instance=ExtResource("6_orihb")]
|
||||
transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 4.7683716e-07, 0.54, -0.6000006)
|
||||
|
||||
[node name="RawBurgerDispenser" parent="." unique_id=235630131 instance=ExtResource("9_7cge2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.2)
|
||||
|
||||
[node name="BurgerBunsDispenser" parent="." unique_id=1720683779 instance=ExtResource("10_7e78q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.8000001)
|
||||
@@ -0,0 +1,16 @@
|
||||
[gd_scene format=3 uid="uid://damrxtlt7uswf"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="1_1wuvq"]
|
||||
[ext_resource type="PackedScene" uid="uid://efaec6ymgabo" path="res://stations/Counter.tscn" id="2_3qwcq"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvrk268s7gkxh" path="res://stations/sink.tscn" id="3_3qwcq"]
|
||||
|
||||
[node name="SmallLine" type="Node3D" unique_id=1844128818]
|
||||
|
||||
[node name="Hob" parent="." unique_id=1687971542 instance=ExtResource("1_1wuvq")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.42000002, 0)
|
||||
|
||||
[node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("2_3qwcq")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0.42000002, 0)
|
||||
|
||||
[node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("3_3qwcq")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.42000002, 0)
|
||||
@@ -0,0 +1,10 @@
|
||||
class_name Helper
|
||||
|
||||
# Find a FoodItem among the direct children of [param node].
|
||||
static func find_food_item(node: Node) -> FoodItem:
|
||||
if not node:
|
||||
return null
|
||||
for child in node.get_children():
|
||||
if child is FoodItem:
|
||||
return child
|
||||
return null
|
||||
@@ -0,0 +1 @@
|
||||
uid://cx1wi21lhnimb
|
||||
@@ -4,3 +4,18 @@ function_pickup.gd:
|
||||
Add nil check in func _pick_up_object(target: Node3D)
|
||||
440: if target and target.has_method("pick_up"):
|
||||
target.pick_up(self)
|
||||
|
||||
|
||||
Add (what) to singal dropped in snap_zone
|
||||
signal has_dropped(what)
|
||||
# Pickup Method: Drop the currently picked up object
|
||||
...
|
||||
func drop_object() -> void:
|
||||
if not is_instance_valid(picked_up_object):
|
||||
return
|
||||
|
||||
# let go of this object
|
||||
has_dropped.emit(picked_up_object)
|
||||
picked_up_object.let_go(self, Vector3.ZERO, Vector3.ZERO)
|
||||
picked_up_object = null
|
||||
highlight_updated.emit(self, enabled)
|
||||
|
||||
+2
-2
@@ -19,10 +19,9 @@ config/icon="res://icon.svg"
|
||||
|
||||
XRToolsUserSettings="*uid://bqgb8i74tm0t"
|
||||
XRToolsRumbleManager="*uid://by853dk86g1qw"
|
||||
NetworkManager="*res://Net/network_manager.gd"
|
||||
GlobalKeyEvents="*uid://c60unagog5oi1"
|
||||
Signals="*uid://fuux6cxfjwdc"
|
||||
NetworkManager="*uid://da1xwj5tyeii6"
|
||||
Main="uid://b4ldkd3ngs0vp"
|
||||
|
||||
[debug]
|
||||
|
||||
@@ -47,6 +46,7 @@ import/blender/enabled=false
|
||||
|
||||
platalbe_item="Meals, sides, augments for meals"
|
||||
station="Hobs, Counters ..."
|
||||
table="all nodes with table script"
|
||||
|
||||
[input]
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
extends Node3D
|
||||
|
||||
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"]
|
||||
|
||||
xr_interface = XRServer.find_interface("OpenXR")
|
||||
if xr_interface and xr_interface.is_initialized():
|
||||
print("Main OpenXR started :)")
|
||||
DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)
|
||||
get_viewport().use_xr = true
|
||||
else:
|
||||
print("Main OpenXR failed to start. Check your headset...")
|
||||
@@ -1 +0,0 @@
|
||||
uid://b4ldkd3ngs0vp
|
||||
@@ -1,357 +0,0 @@
|
||||
extends Node
|
||||
|
||||
const DEFAULT_PORT := 24565
|
||||
const MAX_CLIENTS := 7
|
||||
const MULTIPLAYER_SCENE := "res://Scenes/multiplayer.tscn"
|
||||
|
||||
|
||||
signal player_joined(peer_id: int)
|
||||
signal player_left(peer_id: int)
|
||||
signal session_started(is_server: bool)
|
||||
signal session_ended()
|
||||
signal connection_failed()
|
||||
|
||||
# World hooks, registered by main.gd once the scene tree exists.
|
||||
var _world: Node = null
|
||||
var _players_spawner: MultiplayerSpawner = null
|
||||
var _items_spawner: MultiplayerSpawner = null
|
||||
var _content_root: Node = null
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
multiplayer.peer_connected.connect(_on_peer_connected)
|
||||
multiplayer.peer_disconnected.connect(_on_peer_disconnected)
|
||||
multiplayer.connected_to_server.connect(_on_connected_to_server)
|
||||
multiplayer.connection_failed.connect(_on_connection_failed)
|
||||
multiplayer.server_disconnected.connect(_on_server_disconnected)
|
||||
_handle_cmdline()
|
||||
|
||||
# --- Public API ------------------------------------------------------------
|
||||
|
||||
## Start hosting. The host is peer 1 and also plays (listen server).
|
||||
func host(port: int = DEFAULT_PORT) -> Error:
|
||||
var peer := ENetMultiplayerPeer.new()
|
||||
var err := peer.create_server(port, MAX_CLIENTS)
|
||||
if err != OK:
|
||||
print("NetworkManager HOST failed to create_server on port %d: %s" % [port, error_string(err)])
|
||||
return err
|
||||
multiplayer.multiplayer_peer = peer
|
||||
print("NetworkManager HOST started on port %d (peer id %d)" % [port, multiplayer.get_unique_id()])
|
||||
session_started.emit(true)
|
||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||
return OK
|
||||
|
||||
|
||||
## Join an existing host.
|
||||
func join(address: String = "127.0.0.1", port: int = DEFAULT_PORT) -> Error:
|
||||
var peer := ENetMultiplayerPeer.new()
|
||||
var err := peer.create_client(address, port)
|
||||
if err != OK:
|
||||
print("NetworkManager JOIN failed to create_client %s:%d: %s" % [address, port, error_string(err)])
|
||||
return err
|
||||
multiplayer.multiplayer_peer = peer
|
||||
print("NetworkManager JOIN connecting to %s:%d ..." % [address, port])
|
||||
return OK
|
||||
|
||||
|
||||
## Leave the session and tear down transport.
|
||||
func leave() -> void:
|
||||
_go_offline()
|
||||
print("NetworkManager Session ended")
|
||||
session_ended.emit()
|
||||
|
||||
|
||||
# Restore Godot's default OfflineMultiplayerPeer (rather than leaving the peer
|
||||
# null), so is_multiplayer_authority()/get_unique_id() keep working while we are
|
||||
# back in single-player / menu state.
|
||||
func _go_offline() -> void:
|
||||
if multiplayer.multiplayer_peer:
|
||||
multiplayer.multiplayer_peer.close()
|
||||
multiplayer.multiplayer_peer = OfflineMultiplayerPeer.new()
|
||||
unregister_world()
|
||||
|
||||
|
||||
|
||||
# --- Item grab-authority transfer -----------------------------------------
|
||||
|
||||
## Called by NetPickable when this peer grabs an item by hand. Godot rejects
|
||||
## rpc_id() targeting your own peer id ("RPC on yourself is not allowed"), so
|
||||
## when we ARE the server this runs the logic directly instead of round-
|
||||
## tripping an RPC to ourselves — otherwise every host-side grab/drop was
|
||||
## silently failing to run its server-side half (no denial checks, and
|
||||
## crucially no auto-snap-into-station on release).
|
||||
func request_item_authority_from(item_path: NodePath) -> void:
|
||||
if is_server():
|
||||
_grant_or_reject_item_authority(item_path, multiplayer.get_unique_id())
|
||||
else:
|
||||
_request_item_authority_rpc.rpc_id(1, item_path)
|
||||
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func _request_item_authority_rpc(item_path: NodePath) -> void:
|
||||
if not is_server():
|
||||
return
|
||||
_grant_or_reject_item_authority(item_path, multiplayer.get_remote_sender_id())
|
||||
|
||||
|
||||
## Runs on the server (called directly if the requester IS the server, or via
|
||||
## the RPC above otherwise). If the item was snapped into a station, the
|
||||
## station releases it so the grabber cleanly takes ownership.
|
||||
func _grant_or_reject_item_authority(item_path: NodePath, sender: int) -> void:
|
||||
var item := get_node_or_null(item_path)
|
||||
if item:
|
||||
var np := item.get_node_or_null("NetPickable")
|
||||
if np and np.net_held_by != 0 and np.net_held_by != sender:
|
||||
# Already legitimately held by a different live peer: reject the
|
||||
# requester's optimistic client-side grab instead of stealing it.
|
||||
print("NetworkManager request_item_authority: DENIED %s to peer %d (already held by %d)" % [item.name, sender, np.net_held_by])
|
||||
_force_release_item_to(sender, item_path)
|
||||
return
|
||||
print("NetworkManager request_item_authority: granting %s to peer %d" % [str(item.name) if item else str(item_path), sender])
|
||||
# Assign authority + held state first (disables the item on the server so its
|
||||
# snap zone won't re-grab it), then release it from any station.
|
||||
_set_item_authority.rpc(item_path, sender)
|
||||
if item:
|
||||
_release_from_snap_zones(item)
|
||||
|
||||
|
||||
## Called by NetPickable when this peer releases an item, forwarding its throw
|
||||
## velocity so the server can resume simulating it. Same self-RPC issue as
|
||||
## above: runs directly if we're the server.
|
||||
func release_item_authority_from(item_path: NodePath, lin: Vector3, ang: Vector3, xform: Transform3D) -> void:
|
||||
if is_server():
|
||||
_do_release_item_authority(item_path, lin, ang, xform, multiplayer.get_unique_id())
|
||||
else:
|
||||
_release_item_authority_rpc.rpc_id(1, item_path, lin, ang, xform)
|
||||
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func _release_item_authority_rpc(item_path: NodePath, lin: Vector3, ang: Vector3, xform: Transform3D) -> void:
|
||||
if not is_server():
|
||||
return
|
||||
_do_release_item_authority(item_path, lin, ang, xform, multiplayer.get_remote_sender_id())
|
||||
|
||||
|
||||
## Runs on the server. If released next to a station, the server snaps it in
|
||||
## (server-authoritative placement).
|
||||
func _do_release_item_authority(item_path: NodePath, lin: Vector3, ang: Vector3, xform: Transform3D, sender: int) -> void:
|
||||
print("NetworkManager release_item_authority: %s released by peer %d" % [str(item_path), sender])
|
||||
_set_item_authority.rpc(item_path, 1)
|
||||
var item := get_node_or_null(item_path)
|
||||
if item is RigidBody3D:
|
||||
# Adopt the releasing peer's own final transform rather than trusting our
|
||||
# copy's. That peer was the item's authority right up to this moment, and
|
||||
# its position updates travel on the synchronizer's separate, unordered
|
||||
# channel — this reliable RPC routinely overtakes them, leaving our copy
|
||||
# still sitting where the item was BEFORE the peer carried it away. The
|
||||
# snap decision below then reads that stale position and teleports the
|
||||
# item straight back into the station it was just picked up from.
|
||||
item.global_transform = xform
|
||||
item.freeze = false
|
||||
item.linear_velocity = lin
|
||||
item.angular_velocity = ang
|
||||
_try_snap_into_station.call_deferred(item)
|
||||
|
||||
|
||||
# All station snap zones in the world (every XRToolsSnapZone child of a node in
|
||||
# the "station" group — some stations, e.g. Table, have more than one).
|
||||
func _station_snap_zones() -> Array:
|
||||
var zones := []
|
||||
for station in get_tree().get_nodes_in_group("station"):
|
||||
for child in station.get_children():
|
||||
if child is XRToolsSnapZone:
|
||||
zones.append(child)
|
||||
return zones
|
||||
|
||||
|
||||
# If the item is snapped into any station, drop it from that station.
|
||||
func _release_from_snap_zones(item: Node) -> void:
|
||||
for zone in _station_snap_zones():
|
||||
if zone.picked_up_object == item:
|
||||
print("NetworkManager releasing %s from %s's snap zone (authority just granted elsewhere)" % [item.name, zone.get_parent().name])
|
||||
zone.drop_object()
|
||||
# Make the zone forget the item as well. These zones are snap_mode=RANGE,
|
||||
# so every frame they re-grab anything still listed in their grab area
|
||||
# that can be picked up — and Jolt does not emit body_exited when let_go()
|
||||
# switches the item's collision layer back out of the zone's mask, so the
|
||||
# entry goes stale and never clears. The station then snatches the item
|
||||
# straight back off the player who just took it, teleporting it home.
|
||||
# Bringing it near again re-adds it properly (a held item is on the layer
|
||||
# the zone watches), and releasing next to a station is handled
|
||||
# explicitly by _try_snap_into_station.
|
||||
if zone._object_in_grab_area.has(item):
|
||||
zone._object_in_grab_area.erase(item)
|
||||
|
||||
|
||||
# Snap the item into the nearest empty station snap zone within grab range.
|
||||
#
|
||||
# Called deferred from _do_release_item_authority: XRToolsFunctionPickup's own
|
||||
# "grab an item out of a snap zone" path calls zone.drop_object() BEFORE it
|
||||
# calls pick_up() on the hand's behalf. drop_object()'s let_go() synchronously
|
||||
# fires the pickable's `dropped` signal, which (via NetPickable) lands here —
|
||||
# if this ran synchronously it would immediately re-snap the item into the
|
||||
# very same zone it's still physically inside, stealing it away before the
|
||||
# hand's own pick_up() call (later in the same call stack) ever runs. That
|
||||
# leaves XRToolsFunctionPickup.picked_up_object pointing at an item whose
|
||||
# _grab_driver actually belongs to the zone — a stale reference that crashes
|
||||
# (null _grab_driver) the next time a controller button is pressed. Deferring
|
||||
# lets the hand's pick_up() go first; the is_picked_up() check below is a
|
||||
# second guard in case the item gets grabbed for real before this runs.
|
||||
func _try_snap_into_station(item: Node) -> void:
|
||||
if not (item is Node3D):
|
||||
return
|
||||
if item.has_method("is_picked_up") and item.is_picked_up():
|
||||
var by: Node = null
|
||||
if item.has_method("get_picked_up_by"):
|
||||
by = item.get_picked_up_by()
|
||||
print("NetworkManager skipped snapping %s: already held by %s (grab-race guard)" % [item.name, by.get_path() if by else "?"])
|
||||
return
|
||||
for zone in _station_snap_zones():
|
||||
if is_instance_valid(zone.picked_up_object):
|
||||
continue
|
||||
if zone.global_position.distance_to(item.global_position) <= zone.grab_distance:
|
||||
print("NetworkManager snapped %s into %s" % [item.name, zone.get_parent().name])
|
||||
zone.pick_up_object(item)
|
||||
return
|
||||
print("NetworkManager no station in range to snap %s into (or none empty)" % item.name)
|
||||
|
||||
|
||||
# Server broadcasts an authority assignment so every peer agrees on who owns the
|
||||
# item (set_multiplayer_authority is a local call and must run everywhere).
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func _set_item_authority(item_path: NodePath, peer: int) -> void:
|
||||
var item := get_node_or_null(item_path)
|
||||
if not item:
|
||||
return
|
||||
print("NetworkManager _set_item_authority: %s -> peer %d" % [item.name, peer])
|
||||
item.set_multiplayer_authority(peer) # recursive: item + synchronizer + NetPickable
|
||||
var np := item.get_node_or_null("NetPickable")
|
||||
if np:
|
||||
np.net_held_by = 0 if peer == 1 else peer
|
||||
np.apply_held_state()
|
||||
|
||||
|
||||
## Rejects peer's optimistic grab (the item was already legitimately held by
|
||||
## someone else). Same self-RPC concern: if the rejected peer is the server
|
||||
## itself, apply it directly rather than rpc_id-ing ourselves.
|
||||
func _force_release_item_to(peer: int, item_path: NodePath) -> void:
|
||||
if peer == 1:
|
||||
_do_force_release(item_path)
|
||||
else:
|
||||
force_release_item.rpc_id(peer, item_path)
|
||||
|
||||
|
||||
@rpc("authority", "reliable")
|
||||
func force_release_item(item_path: NodePath) -> void:
|
||||
_do_force_release(item_path)
|
||||
|
||||
|
||||
func _do_force_release(item_path: NodePath) -> void:
|
||||
print("NetworkManager force_release_item: dropping %s (server rejected our grab)" % str(item_path))
|
||||
var item := get_node_or_null(item_path)
|
||||
if item and item.has_method("drop"):
|
||||
item.drop()
|
||||
|
||||
|
||||
|
||||
func is_server() -> bool:
|
||||
return is_online() and multiplayer.is_server()
|
||||
|
||||
|
||||
## True only when a real ENet session is active. Godot installs a default
|
||||
## OfflineMultiplayerPeer, so a non-null peer alone does not mean "online".
|
||||
func is_online() -> bool:
|
||||
var p := multiplayer.multiplayer_peer
|
||||
return p != null and not (p is OfflineMultiplayerPeer)
|
||||
|
||||
|
||||
## True on the machine that owns authoritative world logic: the server when
|
||||
## online, or the single player when offline. Station logic and spawning should
|
||||
## only run where this is true, so state has one source of truth.
|
||||
func owns_world() -> bool:
|
||||
return not is_online() or is_server()
|
||||
|
||||
|
||||
# --- Station work-progress seam -------------------------------------------
|
||||
|
||||
## Reusable entry point for a client to contribute work to a station (e.g. a
|
||||
## future chopping/gesture station). The client detects the gesture locally and
|
||||
## calls this; the server validates and accumulates. Timer-driven stations like
|
||||
## the Hob don't need it, but it is the drop-in seam for input-driven ones.
|
||||
@rpc("any_peer", "reliable")
|
||||
func submit_work(station_path: NodePath, amount: float) -> void:
|
||||
if not is_server():
|
||||
return
|
||||
var station := get_node_or_null(station_path)
|
||||
if station and station.has_method("add_work"):
|
||||
print("NetworkManager submit_work: peer %d contributed %.2f to %s" % [multiplayer.get_remote_sender_id(), amount, station.name])
|
||||
station.add_work(multiplayer.get_remote_sender_id(), amount)
|
||||
|
||||
|
||||
## Called by the world scene once it's ready, passing its spawners. Must run
|
||||
## before world_ready()/host()/join() on every peer so the custom spawn
|
||||
## function is installed before any spawn packet can arrive.
|
||||
func register_world(world: Node, players_spawner: MultiplayerSpawner, items_spawner: MultiplayerSpawner) -> void:
|
||||
_world = world
|
||||
_players_spawner = players_spawner
|
||||
_items_spawner = items_spawner
|
||||
_content_root = items_spawner.get_node(items_spawner.spawn_path) if items_spawner else world
|
||||
print("NetworkManager World registered (players_spawner=%s items_spawner=%s)" % [str(players_spawner != null), str(items_spawner != null)])
|
||||
|
||||
|
||||
## Called when the world scene goes away (disconnect, leaving the session) so
|
||||
## the autoload doesn't hold stale/freed references across a scene reload.
|
||||
func unregister_world() -> void:
|
||||
_world = null
|
||||
_content_root = null
|
||||
_players_spawner = null
|
||||
_items_spawner = null
|
||||
|
||||
|
||||
|
||||
# --- Session signal handlers ----------------------------------------------
|
||||
|
||||
func _on_peer_connected(peer_id: int) -> void:
|
||||
print("NetworkManager peer_connected: %d" % peer_id)
|
||||
# Only the server reacts by materialising that peer's player.
|
||||
if is_server():
|
||||
print("NetworkManager player_present: %d" % peer_id)
|
||||
player_joined.emit(peer_id)
|
||||
|
||||
func _on_peer_disconnected(peer_id: int) -> void:
|
||||
print("NetworkManager peer_disconnected: %d" % peer_id)
|
||||
if is_server():
|
||||
print("NetworkManager player_absent: %d" % peer_id)
|
||||
player_left.emit(peer_id)
|
||||
|
||||
func _on_connected_to_server() -> void:
|
||||
print("NetworkManager connected_to_server (my id=%d)" % multiplayer.get_unique_id())
|
||||
session_started.emit(false)
|
||||
get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE)
|
||||
|
||||
|
||||
func _on_connection_failed() -> void:
|
||||
print("NetworkManager connection_failed")
|
||||
_go_offline()
|
||||
connection_failed.emit()
|
||||
|
||||
func _on_server_disconnected() -> void:
|
||||
print("NetworkManager server_disconnected")
|
||||
_go_offline()
|
||||
session_ended.emit()
|
||||
|
||||
|
||||
# --- Command-line driven test bootstrap -----------------------------------
|
||||
func _handle_cmdline() -> void:
|
||||
print("NetworkManager _handle_cmdline")
|
||||
var args := OS.get_cmdline_user_args()
|
||||
if args.has("--server"):
|
||||
print("NetworkManager cmdline: --server")
|
||||
host()
|
||||
elif args.has("--join"):
|
||||
var idx := args.find("--join")
|
||||
var addr := "127.0.0.1"
|
||||
if idx + 1 < args.size():
|
||||
addr = args[idx + 1]
|
||||
print("NetworkManager cmdline: --join %s" % addr)
|
||||
join(addr)
|
||||
@@ -1 +0,0 @@
|
||||
uid://da1xwj5tyeii6
|
||||
@@ -1 +0,0 @@
|
||||
uid://0sdqbyuuokds
|
||||
@@ -1,16 +1,16 @@
|
||||
[gd_scene format=3 uid="uid://bodj8op527o2c"]
|
||||
|
||||
[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="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://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/burger_buns.tscn" id="11_psgbv"]
|
||||
[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"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"]
|
||||
Reference in New Issue
Block a user