From 58e7792b62b7796dbff2d2a7aa8f998d85e62155 Mon Sep 17 00:00:00 2001 From: JonShard Date: Thu, 30 Jul 2026 16:03:34 +0200 Subject: [PATCH] Add spawning kitchen on hosting game --- Containers/plate.tscn | 2 +- Items/BurgerBuns.tscn | 2 +- Items/Charcoal.tscn | 2 +- Items/PickupCube.tscn | 2 +- Items/burger.tscn | 2 +- Items/cooked_burger.tscn | 2 +- Items/hamburger.tscn | 2 +- Scenes/JonScene.tscn | 16 +++++++++++---- Scenes/add_spawnables.gd | 10 ---------- Scenes/add_spawnables.gd.uid | 1 - Scenes/kitchen_instantiator.gd | 24 +++++++++++++++++++++++ Scenes/kitchen_instantiator.gd.uid | 1 + Scenes/mainMenu.tscn | 26 ++++++++++++------------- Scenes/multiPlayer.tscn | 9 +++++++++ UI/main_menu_panel.gd | 2 +- content/station_layouts/small_line.tscn | 16 +++++++++++++++ 16 files changed, 83 insertions(+), 36 deletions(-) delete mode 100644 Scenes/add_spawnables.gd delete mode 100644 Scenes/add_spawnables.gd.uid create mode 100644 Scenes/kitchen_instantiator.gd create mode 100644 Scenes/kitchen_instantiator.gd.uid create mode 100644 content/station_layouts/small_line.tscn diff --git a/Containers/plate.tscn b/Containers/plate.tscn index c6f6a9e..8efcc01 100644 --- a/Containers/plate.tscn +++ b/Containers/plate.tscn @@ -8,7 +8,7 @@ [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 diff --git a/Items/BurgerBuns.tscn b/Items/BurgerBuns.tscn index ee01fca..87bc04e 100644 --- a/Items/BurgerBuns.tscn +++ b/Items/BurgerBuns.tscn @@ -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 diff --git a/Items/Charcoal.tscn b/Items/Charcoal.tscn index 30de4d1..9253f5c 100644 --- a/Items/Charcoal.tscn +++ b/Items/Charcoal.tscn @@ -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 diff --git a/Items/PickupCube.tscn b/Items/PickupCube.tscn index 43d665b..0f4d467 100644 --- a/Items/PickupCube.tscn +++ b/Items/PickupCube.tscn @@ -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) diff --git a/Items/burger.tscn b/Items/burger.tscn index cf47c25..d01b6ea 100644 --- a/Items/burger.tscn +++ b/Items/burger.tscn @@ -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 diff --git a/Items/cooked_burger.tscn b/Items/cooked_burger.tscn index 33d67d2..edff0e1 100644 --- a/Items/cooked_burger.tscn +++ b/Items/cooked_burger.tscn @@ -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 diff --git a/Items/hamburger.tscn b/Items/hamburger.tscn index e19fc2e..e4e8ee3 100644 --- a/Items/hamburger.tscn +++ b/Items/hamburger.tscn @@ -8,7 +8,7 @@ [ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_fh0f6"] [ext_resource type="PackedScene" uid="uid://bfj80jh13t6e5" path="res://prefabs/food_item.tscn" id="7_yy3y8"] [ext_resource type="PackedScene" uid="uid://b5ukku8i0hilb" path="res://prefabs/despawning_item.tscn" id="9_ej8jm"] -[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://net/net_pickable.gd" id="20_netpk"] +[ext_resource type="Script" uid="uid://bwd0pe2udb5xo" path="res://Net/net_pickable.gd" id="20_netpk"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_fco8w"] height = 0.10392761 diff --git a/Scenes/JonScene.tscn b/Scenes/JonScene.tscn index f73010f..92ebd39 100644 --- a/Scenes/JonScene.tscn +++ b/Scenes/JonScene.tscn @@ -4,7 +4,7 @@ [ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://XROrigin.tscn" id="2_o1b3t"] [ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="3_irf4n"] [ext_resource type="PackedScene" uid="uid://j7caslh27nor" path="res://stations/Hob.tscn" id="4_ctden"] -[ext_resource type="Script" uid="uid://ctsqvhicswj8m" path="res://scenes/add_spawnables.gd" id="5_n8fyw"] +[ext_resource type="PackedScene" uid="uid://damrxtlt7uswf" path="res://content/station_layouts/small_line.tscn" id="6_pmikj"] [ext_resource type="Sky" uid="uid://c1abtpwhdm2d5" path="res://textures/sky/NightSkyHDRI009_16K.tres" id="7_n8fyw"] [ext_resource type="PackedScene" uid="uid://c6rift56ql3f8" path="res://stations/BurgerBunsDispenser.tscn" id="9_sq0s2"] [ext_resource type="PackedScene" uid="uid://cwnwo4i28upap" path="res://stations/raw_burger_dispenser.tscn" id="11_ctden"] @@ -17,6 +17,7 @@ [ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://ui/game_over_panel.tscn" id="15_eoxxy"] [ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="16_di04w"] [ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://scenes/GameOvercontroler.gd" id="16_n8fyw"] +[ext_resource type="Script" uid="uid://fyd2rjramhbb" path="res://scenes/kitchen_instantiator.gd" id="17_6qhav"] [sub_resource type="Environment" id="Environment_bvwq1"] background_mode = 2 @@ -47,16 +48,18 @@ script = ExtResource("1_57ppd") environment = SubResource("Environment_bvwq1") [node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("2_o1b3t")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.0094595, 0.9667189, -0.15640831) +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.2094594, 0.9667189, 0.4435917) [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") -script = ExtResource("5_n8fyw") [node name="PlayersSpawner" type="MultiplayerSpawner" parent="." unique_id=619815427] _spawnable_scenes = PackedStringArray("res://Player/net_player.tscn") @@ -122,7 +125,7 @@ transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5 transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.5477214, 0.5115016, 0.49258912) [node name="Counter5" parent="Counter3" unique_id=200341072 instance=ExtResource("15_di04w")] -transform = Transform3D(-1, 0, 4.371139e-08, 0, 1, 0, -4.371139e-08, 0, -1, -0.12681937, 2.3841858e-07, 3.538899) +transform = Transform3D(-1, 0, 4.371139e-08, 0, 1, 0, -4.371139e-08, 0, -1, 1.6731808, 2.3841858e-07, 4.738899) [node name="BurgerBunsDispenser" parent="." unique_id=1720683779 instance=ExtResource("9_sq0s2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5242664, 0.008738995, 1.1073059) @@ -146,3 +149,8 @@ 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, 0.35154933, 0, 1.1119425) + +[node name="KitchenInstantiator" type="Node3D" parent="." unique_id=48671856] +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.2, 0, 2.4) +script = ExtResource("17_6qhav") +kitchen_scene = ExtResource("6_pmikj") diff --git a/Scenes/add_spawnables.gd b/Scenes/add_spawnables.gd deleted file mode 100644 index d20cab4..0000000 --- a/Scenes/add_spawnables.gd +++ /dev/null @@ -1,10 +0,0 @@ -extends MultiplayerSpawner - - -func _ready() -> void: - add_spawnable_scene("res://Stations/csg_box_3d.tscn") - - - -func _process(delta: float) -> void: - pass diff --git a/Scenes/add_spawnables.gd.uid b/Scenes/add_spawnables.gd.uid deleted file mode 100644 index 341408f..0000000 --- a/Scenes/add_spawnables.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://ctsqvhicswj8m diff --git a/Scenes/kitchen_instantiator.gd b/Scenes/kitchen_instantiator.gd new file mode 100644 index 0000000..a879904 --- /dev/null +++ b/Scenes/kitchen_instantiator.gd @@ -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) diff --git a/Scenes/kitchen_instantiator.gd.uid b/Scenes/kitchen_instantiator.gd.uid new file mode 100644 index 0000000..e722d69 --- /dev/null +++ b/Scenes/kitchen_instantiator.gd.uid @@ -0,0 +1 @@ +uid://fyd2rjramhbb diff --git a/Scenes/mainMenu.tscn b/Scenes/mainMenu.tscn index 8ab8bc5..d069d24 100644 --- a/Scenes/mainMenu.tscn +++ b/Scenes/mainMenu.tscn @@ -2,19 +2,19 @@ [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="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"] diff --git a/Scenes/multiPlayer.tscn b/Scenes/multiPlayer.tscn index 8b74727..7027421 100644 --- a/Scenes/multiPlayer.tscn +++ b/Scenes/multiPlayer.tscn @@ -4,6 +4,9 @@ [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://scenes/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="BoxShape3D" id="BoxShape3D_vlqg6"] @@ -78,3 +81,9 @@ 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") diff --git a/UI/main_menu_panel.gd b/UI/main_menu_panel.gd index 6616f3a..8f19639 100644 --- a/UI/main_menu_panel.gd +++ b/UI/main_menu_panel.gd @@ -96,7 +96,7 @@ func _on_john_pressed() -> void: func _on_host_pressed() -> void: NetworkManager.request_host() - get_tree().change_scene_to_file.call_deferred("res://Scenes/JonScene.tscn") + get_tree().change_scene_to_file.call_deferred(MULTIPLAYER_SCENE) func _on_join_pressed() -> void: diff --git a/content/station_layouts/small_line.tscn b/content/station_layouts/small_line.tscn new file mode 100644 index 0000000..c544560 --- /dev/null +++ b/content/station_layouts/small_line.tscn @@ -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)