From 3646992e353e31287468216251861e7c5b1a8b8d Mon Sep 17 00:00:00 2001 From: JonShard Date: Wed, 5 Aug 2026 09:46:19 +0200 Subject: [PATCH] Add food dispensers to shop. --- {Scenes => Net}/multiplayer_world.gd | 0 {Scenes => Net}/multiplayer_world.gd.uid | 0 {Scenes => Prefabs}/GameOvercontroler.gd | 0 {Scenes => Prefabs}/GameOvercontroler.gd.uid | 0 Scenes/AlgoScene.tscn | 32 +-- Scenes/JonScene.tscn | 54 ++--- Scenes/mainMenu.tscn | 17 +- Scenes/multiPlayer.tscn | 2 +- Scenes/test_small.tscn | 17 +- Stations/BurgerBunsDispenser.tscn | 64 ++--- Stations/Counter.tscn | 15 +- Stations/Hob.tscn | 8 +- Stations/StationMovement.tscn | 20 +- {Scenes => Stations}/cube_side_dispense.tscn | 38 +-- Stations/item_dispenser.gd | 10 +- Stations/plate_dispenser.tscn | 50 ++-- Stations/potato_dispenser.tscn | 127 ++++++++++ Stations/raw_burger_dispenser.tscn | 40 ++-- Stations/sink.tscn | 11 +- Stations/station_movement.gd | 7 +- Stations/table.tscn | 91 ++----- Textures/shop/burger_buns.png | Bin 0 -> 22101 bytes Textures/shop/burger_buns.png.import | 40 ++++ Textures/shop/plates.png | Bin 0 -> 14166 bytes Textures/shop/plates.png.import | 40 ++++ Textures/shop/potatoes.png | Bin 0 -> 15325 bytes Textures/shop/potatoes.png.import | 40 ++++ Textures/shop/raw_burger.png | Bin 0 -> 39247 bytes Textures/shop/raw_burger.png.import | 40 ++++ Textures/shop/table.png | Bin 0 -> 39292 bytes Textures/shop/table.png.import | 40 ++++ UI/shop.tscn | 239 +++---------------- UI/shop_station_button.gd | 5 +- content/static_resturants/resturant.tscn | 4 +- documentation/Notes.md | 3 + {Scenes => environment}/door.tscn | 0 {Scenes => environment}/wall.tscn | 0 global/GameManager.gd | 2 +- global/helper.gd | 14 ++ recipes.yaml.uid | 1 + test/multiPlayerTest.tscn | 11 +- {Scenes => test}/testworldLoad.gd | 0 {Scenes => test}/testworldLoad.gd.uid | 0 43 files changed, 629 insertions(+), 453 deletions(-) rename {Scenes => Net}/multiplayer_world.gd (100%) rename {Scenes => Net}/multiplayer_world.gd.uid (100%) rename {Scenes => Prefabs}/GameOvercontroler.gd (100%) rename {Scenes => Prefabs}/GameOvercontroler.gd.uid (100%) rename {Scenes => Stations}/cube_side_dispense.tscn (55%) create mode 100644 Stations/potato_dispenser.tscn create mode 100644 Textures/shop/burger_buns.png create mode 100644 Textures/shop/burger_buns.png.import create mode 100644 Textures/shop/plates.png create mode 100644 Textures/shop/plates.png.import create mode 100644 Textures/shop/potatoes.png create mode 100644 Textures/shop/potatoes.png.import create mode 100644 Textures/shop/raw_burger.png create mode 100644 Textures/shop/raw_burger.png.import create mode 100644 Textures/shop/table.png create mode 100644 Textures/shop/table.png.import rename {Scenes => environment}/door.tscn (100%) rename {Scenes => environment}/wall.tscn (100%) create mode 100644 recipes.yaml.uid rename {Scenes => test}/testworldLoad.gd (100%) rename {Scenes => test}/testworldLoad.gd.uid (100%) diff --git a/Scenes/multiplayer_world.gd b/Net/multiplayer_world.gd similarity index 100% rename from Scenes/multiplayer_world.gd rename to Net/multiplayer_world.gd diff --git a/Scenes/multiplayer_world.gd.uid b/Net/multiplayer_world.gd.uid similarity index 100% rename from Scenes/multiplayer_world.gd.uid rename to Net/multiplayer_world.gd.uid diff --git a/Scenes/GameOvercontroler.gd b/Prefabs/GameOvercontroler.gd similarity index 100% rename from Scenes/GameOvercontroler.gd rename to Prefabs/GameOvercontroler.gd diff --git a/Scenes/GameOvercontroler.gd.uid b/Prefabs/GameOvercontroler.gd.uid similarity index 100% rename from Scenes/GameOvercontroler.gd.uid rename to Prefabs/GameOvercontroler.gd.uid diff --git a/Scenes/AlgoScene.tscn b/Scenes/AlgoScene.tscn index c430442..96de013 100644 --- a/Scenes/AlgoScene.tscn +++ b/Scenes/AlgoScene.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://22shbqdvnwgo"] -[ext_resource type="Script" path="res://main.gd" id="1_m3h4l"] +[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Net/multiplayer_world.gd" id="1_nlnup"] [ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/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"] @@ -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://scenes/testworldLoad.gd" id="16_m3h4l"] +[ext_resource type="Script" uid="uid://k8ywnvlhcic4" path="res://test/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://scenes/GameOvercontroler.gd" id="19_3lufs"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/GameOvercontroler.gd" id="19_3lufs"] [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] size = Vector3(16, 0.1, 16) @@ -38,7 +38,8 @@ sdfgi_enabled = true size = Vector3(16, 10, 0.1) [node name="Main" type="Node3D" unique_id=1312265607] -script = ExtResource("1_m3h4l") +script = ExtResource("1_nlnup") +populate_from_layout = false [node name="XROrigin3D" parent="." unique_id=2055526621 instance=ExtResource("2_8pfaf")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0) @@ -47,8 +48,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0) 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="Table" parent="." unique_id=1863572470 instance=ExtResource("16_g2k6a")] -transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.739665, 0.47583598, -1.1895752) -primary_duration = 35.0 +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.739665, -0.023897558, -1.1895752) [node name="Floor" type="StaticBody3D" parent="." unique_id=122279514] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) @@ -64,10 +64,10 @@ mesh = SubResource("BoxMesh_24d3s") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -1.2) [node name="Hob2" parent="." unique_id=496572049 instance=ExtResource("4_3lufs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0.5, -1.2) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0.00026646256, -1.2) [node name="Hob3" parent="." unique_id=421567982 instance=ExtResource("4_3lufs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0.5, -1.2) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0.00026646256, -1.2) [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] environment = SubResource("Environment_bvwq1") @@ -76,31 +76,31 @@ environment = SubResource("Environment_bvwq1") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8, 0.015, -1.2) [node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("12_ah4xa")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5997182, 0.5, -1.2) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5997182, 0.00026646256, -1.2) [node name="Sink2" parent="." unique_id=1692612192 instance=ExtResource("12_ah4xa")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1997182, 0.5, -1.2) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1997182, 0.00026646256, -1.2) [node name="DirtStation" parent="." unique_id=160842153 instance=ExtResource("13_46xi2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8000001, 0.5, -1.2) [node name="Counter2" parent="." unique_id=368890752 instance=ExtResource("15_tpcje")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.8, 0.5, -0.6) +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.8, 0.00026646256, -0.6) [node name="Counter3" parent="." unique_id=1498817646 instance=ExtResource("15_tpcje")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.8, 0.5, 0) +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.8, 0.00026646256, 0) [node name="Counter4" parent="." unique_id=906748771 instance=ExtResource("15_tpcje")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.8, 0.5, 0.6) +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.8, 0.00026646256, 0.6) [node name="Counter5" parent="." unique_id=1487893288 instance=ExtResource("15_tpcje")] -transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -0.6, 0.5, 1.2) +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -0.6, 0.00026646256, 1.2) [node name="Counter6" parent="." unique_id=1154936647 instance=ExtResource("15_tpcje")] -transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0.5, 1.2) +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0.00026646256, 1.2) [node name="Counter7" parent="." unique_id=990260272 instance=ExtResource("15_tpcje")] -transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.6, 0.5, 1.2) +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.6, 0.00026646256, 1.2) [node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=315740174] diff --git a/Scenes/JonScene.tscn b/Scenes/JonScene.tscn index fdc348a..b310ef5 100644 --- a/Scenes/JonScene.tscn +++ b/Scenes/JonScene.tscn @@ -1,14 +1,13 @@ [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="Script" uid="uid://d1cefhe3yyyds" path="res://Net/multiplayer_world.gd" id="1_57ppd"] [ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/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://q37nqadkibbp" path="res://environment/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://da6yrsnxvsrif" path="res://environment/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"] @@ -17,14 +16,12 @@ [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="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/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"] [ext_resource type="PackedScene" uid="uid://duwrbvwcqcuk3" path="res://items/chips.tscn" id="22_2ndvi"] [ext_resource type="PackedScene" uid="uid://dgk88esxip5xi" path="res://items/knife.tscn" id="23_qxyk8"] -[ext_resource type="PackedScene" uid="uid://drwuhqb3pjtiy" path="res://items/potato.tscn" id="24_u5c1m"] -[ext_resource type="PackedScene" uid="uid://bpvp20hiagxxb" path="res://items/chopped_potato.tscn" id="25_y7baw"] [sub_resource type="Environment" id="Environment_bvwq1"] background_mode = 2 @@ -120,15 +117,6 @@ shape = SubResource("BoxShape3D_24d3s") transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.934778, 4.297072, -0.018813023) shape = SubResource("BoxShape3D_24d3s") -[node name="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") @@ -140,9 +128,6 @@ 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) @@ -425,37 +410,37 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0, 0) 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) +transform = Transform3D(1, 0, -1.7484555e-07, 0, 1, 0, 1.7484555e-07, 0, 1, 0.5999999, -0.035479546, -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) +transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4.2000003, 0.024520457, 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) +transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4.200001, 0.024520457, 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) +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.200001, 0.024520457, 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) +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.200001, 0.024520457, 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) +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.2000003, 0.024520457, 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) +transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.7683716e-07, 0.024520457, 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) +transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.7683716e-07, 0.024520457, 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) +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0.6, -0.035479546, -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) +transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 4.7683716e-07, 0.024520457, -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) @@ -464,7 +449,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.2) 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) +transform = Transform3D(-1, 0, 2.6226832e-07, 0, 1, 0, -2.6226832e-07, 0, -1, 3, -0.035479546, -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) @@ -480,12 +465,3 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 1.2, -0.6) [node name="Knife" parent="." unique_id=1789694138 instance=ExtResource("23_qxyk8")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 3) - -[node name="Potato" parent="." unique_id=275760487 instance=ExtResource("24_u5c1m")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9600005, 1.1400001, 2.2800002) - -[node name="ChoppedPotato" parent="." unique_id=1564262551 instance=ExtResource("25_y7baw")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.96, 1.1400001, 1.6800001) - -[node name="Chips2" parent="." unique_id=2054749156 instance=ExtResource("22_2ndvi")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9600003, 1.1400001, 1.08) diff --git a/Scenes/mainMenu.tscn b/Scenes/mainMenu.tscn index e491716..92cc787 100644 --- a/Scenes/mainMenu.tscn +++ b/Scenes/mainMenu.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://c1nv4w33fedj6"] -[ext_resource type="Script" path="res://main.gd" id="1_72gy5"] +[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Net/multiplayer_world.gd" id="1_jfr2g"] [ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/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"] @@ -35,7 +35,8 @@ ssil_enabled = true sdfgi_enabled = true [node name="Main" type="Node3D" unique_id=1312265607] -script = ExtResource("1_72gy5") +script = ExtResource("1_jfr2g") +populate_from_layout = false [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) @@ -61,7 +62,7 @@ shape = SubResource("BoxShape3D_vlqg6") 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.29336345, 0.015500337, -1.484) [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1177077250] environment = SubResource("Environment_bvwq1") @@ -112,7 +113,7 @@ transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.3147688, 0.015500337, -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) @@ -148,16 +149,16 @@ transform = Transform3D(1, 0, -2.2351742e-08, -2.9802322e-08, 1.0000001, 0, -2.6 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7124918, 0.015500337, -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) +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.7648025, 0.015500337, -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) +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.7648025, 0.015500337, 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) +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -1.7648025, 0.015500337, 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) diff --git a/Scenes/multiPlayer.tscn b/Scenes/multiPlayer.tscn index 6561d9d..6e471a8 100644 --- a/Scenes/multiPlayer.tscn +++ b/Scenes/multiPlayer.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://c30i6h32w8p47"] -[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://scenes/multiplayer_world.gd" id="1_kdan8"] +[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Net/multiplayer_world.gd" id="1_kdan8"] [ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/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"] diff --git a/Scenes/test_small.tscn b/Scenes/test_small.tscn index ca4adc0..f16ec29 100644 --- a/Scenes/test_small.tscn +++ b/Scenes/test_small.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://dbgu4r127ke5v"] -[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://scenes/multiplayer_world.gd" id="1_atgwk"] +[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Net/multiplayer_world.gd" id="1_atgwk"] [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/XROrigin.tscn" id="3_bryd6"] [ext_resource type="Material" uid="uid://cmia50cfqxxo4" path="res://textures/dev_material_3d.tres" id="4_kpgm6"] @@ -13,7 +13,8 @@ [ext_resource type="PackedScene" uid="uid://caf0xanmxbshy" path="res://stations/table.tscn" id="11_gaw43"] [ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="12_n58f2"] [ext_resource type="PackedScene" uid="uid://xtcei2uvd5li" path="res://UI/game_over_panel.tscn" id="13_hooyg"] -[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://scenes/GameOvercontroler.gd" id="14_cqmpj"] +[ext_resource type="Script" uid="uid://cwijoksyou1ey" path="res://prefabs/GameOvercontroler.gd" id="14_cqmpj"] +[ext_resource type="PackedScene" uid="uid://sc6i0i1f0o48" path="res://stations/potato_dispenser.tscn" id="15_hooyg"] [sub_resource type="Environment" id="Environment_bvwq1"] background_mode = 2 @@ -92,10 +93,9 @@ transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 9.93 shape = SubResource("BoxShape3D_24d3s") [node name="Hob" parent="." unique_id=1687971542 instance=ExtResource("5_gfdi7")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.507, 0) [node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("7_jnxsa")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0.512, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0, 0) [node name="Potato" parent="." unique_id=962444046 instance=ExtResource("8_1qeqw")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.273382, 1.5940565, -0.036002517) @@ -110,13 +110,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 0) script = ExtResource("9_atgwk") [node name="Sink" parent="." unique_id=1559059799 instance=ExtResource("10_dhas4")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0.5, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 0) [node name="Table" parent="." unique_id=1863572470 instance=ExtResource("11_gaw43")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.5, 1.8) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8, 0, 1.8) [node name="GameOverPanel" parent="." unique_id=522901881 instance=ExtResource("12_n58f2")] -transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.428178, 2.8122003, 3) +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.7718225, 2.8122003, 1.8000003) scene = ExtResource("13_hooyg") viewport_size = Vector2(900, 600) transparent = 0 @@ -125,3 +125,6 @@ scene_properties_keys = PackedStringArray("game_over_panel.gd") [node name="controler" type="Node" parent="GameOverPanel" unique_id=1442195864] script = ExtResource("14_cqmpj") + +[node name="PotatoDispenser" parent="." unique_id=1410160280 instance=ExtResource("15_hooyg")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8000002, 0, 0) diff --git a/Stations/BurgerBunsDispenser.tscn b/Stations/BurgerBunsDispenser.tscn index 1aeeba7..fedba90 100644 --- a/Stations/BurgerBunsDispenser.tscn +++ b/Stations/BurgerBunsDispenser.tscn @@ -2,6 +2,7 @@ [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://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="1_u2p81"] [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"] @@ -9,16 +10,22 @@ radius = 0.3 [sub_resource type="CylinderShape3D" id="CylinderShape3D_24d3s"] +height = 1.0 radius = 0.3 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vlqg6"] albedo_color = Color(0.6784191, 0.54546416, 0.016760282, 1) -[node name="BurgerBunsDispenser" type="StaticBody3D" unique_id=1720683779] +[node name="BurgerBunsDispenser" type="Node3D" unique_id=1410160280] + +[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_u2p81")] +station = NodePath("../BurgerBunsDispenser") + +[node name="BurgerBunsDispenser" type="StaticBody3D" parent="." unique_id=1720683779] script = ExtResource("1_myl3s") item_scene = ExtResource("2_1q74o") -[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=805334513] +[node name="XRToolsSnapZone" type="Area3D" parent="BurgerBunsDispenser" unique_id=805334513] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00070536137, 1.0162505, -0.002165556) collision_layer = 65536 collision_mask = 65536 @@ -26,40 +33,43 @@ script = ExtResource("1_p30r1") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" -[node name="CollisionShape3D" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=1104626493] +[node name="CollisionShape3D" type="CollisionShape3D" parent="BurgerBunsDispenser/XRToolsSnapZone" unique_id=1104626493] shape = SubResource("SphereShape3D_xmbo2") -[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1470079357] +[node name="CollisionShape3D" type="CollisionShape3D" parent="BurgerBunsDispenser" 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")] +[node name="SlideOffDome" parent="BurgerBunsDispenser" unique_id=1427609426 instance=ExtResource("4_rf1b2")] -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=1746426494] +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="BurgerBunsDispenser" unique_id=1746426494] -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=858311379] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="BurgerBunsDispenser/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] +[node name="CSGCombiner3DBuns" type="CSGCombiner3D" parent="BurgerBunsDispenser/CSGCombiner3D" unique_id=1459017790] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.16038476, 1.0341886, -0.09012994) autosmooth = true smoothing_angle = 138.9 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns" unique_id=1328221793] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns" unique_id=1328221793] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns" unique_id=686624728] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns" unique_id=686624728] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns/CSGCylinder3D3" unique_id=1113894081] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns/CSGCylinder3D3" unique_id=1113894081] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) radius = 0.085 height = 0.04 @@ -67,26 +77,26 @@ sides = 16 cone = true material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCombiner3DBuns2" type="CSGCombiner3D" parent="CSGCombiner3D" unique_id=1636439623] +[node name="CSGCombiner3DBuns2" type="CSGCombiner3D" parent="BurgerBunsDispenser/CSGCombiner3D" unique_id=1636439623] transform = Transform3D(0.42896286, 0, -0.90332216, 0, 1, 0, 0.90332216, 0, 0.42896286, 0.13564643, 1.0341886, 0.20497215) autosmooth = true smoothing_angle = 138.9 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns2" unique_id=190780737] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns2" unique_id=190780737] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns2" unique_id=557804311] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns2" unique_id=557804311] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns2/CSGCylinder3D3" unique_id=605379447] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns2/CSGCylinder3D3" unique_id=605379447] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) radius = 0.085 height = 0.04 @@ -94,26 +104,26 @@ sides = 16 cone = true material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCombiner3DBuns3" type="CSGCombiner3D" parent="CSGCombiner3D" unique_id=1594575583] +[node name="CSGCombiner3DBuns3" type="CSGCombiner3D" parent="BurgerBunsDispenser/CSGCombiner3D" unique_id=1594575583] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.17070979, 1.0341885, 0.07147646) autosmooth = true smoothing_angle = 138.9 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns3" unique_id=1686142490] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns3" unique_id=1686142490] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns3" unique_id=1773290691] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns3" unique_id=1773290691] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns3/CSGCylinder3D3" unique_id=801922493] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns3/CSGCylinder3D3" unique_id=801922493] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) radius = 0.085 height = 0.04 @@ -121,26 +131,26 @@ sides = 16 cone = true material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCombiner3DBuns4" type="CSGCombiner3D" parent="CSGCombiner3D" unique_id=2055085730] +[node name="CSGCombiner3DBuns4" type="CSGCombiner3D" parent="BurgerBunsDispenser/CSGCombiner3D" unique_id=2055085730] transform = Transform3D(0.95670986, 0, 0.29104328, 0, 1, 0, -0.29104328, 0, 0.95670986, -0.08665481, 1.0341886, -0.10344604) autosmooth = true smoothing_angle = 138.9 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns4" unique_id=547208858] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns4" unique_id=547208858] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns4" unique_id=185898007] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns4" unique_id=185898007] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns4/CSGCylinder3D3" unique_id=2117029178] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns4/CSGCylinder3D3" unique_id=2117029178] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) radius = 0.085 height = 0.04 @@ -148,26 +158,26 @@ sides = 16 cone = true material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCombiner3DBuns5" type="CSGCombiner3D" parent="CSGCombiner3D" unique_id=546748728] +[node name="CSGCombiner3DBuns5" type="CSGCombiner3D" parent="BurgerBunsDispenser/CSGCombiner3D" unique_id=546748728] transform = Transform3D(0.20608562, 0, -0.978534, 0, 1, 0, 0.978534, 0, 0.20608562, -0.047733016, 1.0341886, 0.19433105) autosmooth = true smoothing_angle = 138.9 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns5" unique_id=102374914] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns5" unique_id=102374914] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.004122257, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns5" unique_id=189923990] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns5" unique_id=189923990] transform = Transform3D(0.82770383, -0.5611652, 0, 0.5611652, 0.82770383, 0, 0, 0, 1, -0.048392475, 0.029736161, 0) radius = 0.085 height = 0.04 sides = 16 material = SubResource("StandardMaterial3D_vlqg6") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D/CSGCombiner3DBuns5/CSGCylinder3D3" unique_id=1980594001] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="BurgerBunsDispenser/CSGCombiner3D/CSGCombiner3DBuns5/CSGCylinder3D3" unique_id=1980594001] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.040259957, 0) radius = 0.085 height = 0.04 diff --git a/Stations/Counter.tscn b/Stations/Counter.tscn index 4933bc1..f4d0aa1 100644 --- a/Stations/Counter.tscn +++ b/Stations/Counter.tscn @@ -9,7 +9,7 @@ [ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="6_racgh"] [sub_resource type="BoxShape3D" id="BoxShape3D_24d3s"] -size = Vector3(0.6, 1, 0.6) +size = Vector3(0.48521727, 0.040039063, 0.41994628) [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] size = Vector3(0.3, 0.05, 0.3) @@ -39,16 +39,18 @@ knife = NodePath("Knife") progress_bar = NodePath("ProgressBar3D") [node name="CollisionShape3DCuttingBoard" type="CollisionShape3D" parent="Counter" unique_id=706340473] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00157471, 0.51688915, 0.00070264935) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00088502467, 1.0178218, 0.0009101778) shape = SubResource("BoxShape3D_24d3s") [node name="CollisionShape3DCounter" type="CollisionShape3D" parent="Counter" unique_id=895680269] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5038623, 0) shape = SubResource("BoxShape3D_24d3s") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Counter" unique_id=1941838513] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5038623, 0) [node name="GestureArea" type="Area3D" parent="Counter" unique_id=398687137] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.54, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0438623, 0) collision_layer = 0 collision_mask = 65536 @@ -56,12 +58,12 @@ collision_mask = 65536 shape = SubResource("BoxShape3D_vlqg6") [node name="Knife" parent="Counter" unique_id=1675596942 instance=ExtResource("3_3gvdi")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.78000003, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2838624, 0) freeze = true release_mode = 1 [node name="XRToolsSnapZone" type="Area3D" parent="Counter" unique_id=1647380272 groups=["station"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5608841, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0647464, 0) collision_layer = 65536 collision_mask = 65540 script = ExtResource("1_dlkho") @@ -76,9 +78,10 @@ shape = SubResource("BoxShape3D_1ntq7") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Counter/XRToolsSnapZone" unique_id=1786831079] [node name="ProgressBar3D" parent="Counter" unique_id=654673176 instance=ExtResource("6_racgh")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.78000003, -0.18) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2838624, -0.18) [node name="CSGCombiner3D" type="CSGCombiner3D" parent="Counter" unique_id=451757283] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5038623, 0) [node name="CSGBox3D" type="CSGBox3D" parent="Counter/CSGCombiner3D" unique_id=305755330] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.046, -0.025) diff --git a/Stations/Hob.tscn b/Stations/Hob.tscn index 47d14fa..3e46cfb 100644 --- a/Stations/Hob.tscn +++ b/Stations/Hob.tscn @@ -175,10 +175,11 @@ station = NodePath("../Hob") script = ExtResource("1_7jc4g") [node name="CollisionShape3D" type="CollisionShape3D" parent="Hob" unique_id=1283846023] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.51483154, 0) 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0418437, 0) collision_layer = 65536 collision_mask = 65540 script = ExtResource("2_er1dp") @@ -194,9 +195,10 @@ shape = SubResource("BoxShape3D_7uuqv") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283) [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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2621956, -0.09216304) [node name="CSGCombiner3D" type="CSGCombiner3D" parent="Hob" unique_id=70901698] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.51483154, 0) [node name="CSGBox3D" type="CSGBox3D" parent="Hob/CSGCombiner3D" unique_id=1111505172] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00071543455, 3.7252903e-09, -0.008516133) @@ -286,7 +288,7 @@ 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) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0201802, 0) light_color = Color(1, 0.13725491, 0, 1) light_energy = 0.0 omni_range = 0.5 diff --git a/Stations/StationMovement.tscn b/Stations/StationMovement.tscn index 60044d7..9afc248 100644 --- a/Stations/StationMovement.tscn +++ b/Stations/StationMovement.tscn @@ -41,7 +41,7 @@ properties/2/spawn = true properties/2/replication_mode = 1 [sub_resource type="BoxShape3D" id="BoxShape3D_vlqg6"] -size = Vector3(0.5, 1, 0.5) +size = Vector3(0.5, 0.87231445, 0.5) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vlqg6"] transparency = 1 @@ -53,7 +53,7 @@ move_handle = NodePath("MoveHandle") move_ghost = NodePath("MoveGhost") [node name="MoveHandle" type="RigidBody3D" parent="." unique_id=954108203 groups=["platalbe_item"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.08, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) collision_layer = 4 collision_mask = 196615 axis_lock_linear_y = true @@ -84,11 +84,11 @@ replication_config = SubResource("SceneReplicationConfig_np_cube") script = ExtResource("8_7mccn") [node name="MoveGhost" type="Area3D" parent="." unique_id=1305344236] -visible = false collision_layer = 0 -collision_mask = 524295 +collision_mask = 524291 [node name="CollisionShape3D" type="CollisionShape3D" parent="MoveGhost" unique_id=2074041383] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.44934082, 0) shape = SubResource("BoxShape3D_vlqg6") [node name="CSGCombiner3D" type="CSGCombiner3D" parent="MoveGhost" unique_id=283929246] @@ -96,20 +96,26 @@ collision_layer = 0 collision_mask = 524291 [node name="CSGBox3D" type="CSGBox3D" parent="MoveGhost/CSGCombiner3D" unique_id=1786907045] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) size = Vector3(0.6, 1, 0.6) material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGBox3D2" type="CSGBox3D" parent="MoveGhost/CSGCombiner3D" unique_id=684823657] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5642835, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) size = Vector3(0.03, 0.03, 0.3) material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGBox3D2" type="CSGBox3D" parent="MoveGhost/CSGCombiner3D/CSGBox3D2" unique_id=286640707] -transform = Transform3D(0.70451534, 0, -0.7096888, 0, 1, 0, 0.7096888, 0, 0.70451534, -0.046803005, 0, -0.096979) +transform = Transform3D(0.70451534, 0, -0.7096888, 0, 1, 0, 0.7096888, 0, 0.70451534, -0.046803005, 0.5, -0.096979) size = Vector3(0.03, 0.03, 0.12021485) material = SubResource("StandardMaterial3D_vlqg6") [node name="CSGBox3D3" type="CSGBox3D" parent="MoveGhost/CSGCombiner3D/CSGBox3D2" unique_id=1791902851] -transform = Transform3D(0.7073421, 0, 0.7068714, 0, 1, 0, -0.7068714, 0, 0.7073421, 0.04550519, 0, -0.096264325) +transform = Transform3D(0.7073421, 0, 0.7068714, 0, 1, 0, -0.7068714, 0, 0.7073421, 0.04550519, 0.5, -0.096264325) size = Vector3(0.03, 0.03, 0.12021485) material = SubResource("StandardMaterial3D_vlqg6") + +[node name="CSGBox3D4" type="CSGBox3D" parent="MoveGhost/CSGCombiner3D/CSGBox3D2" unique_id=83757100] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -0.020843491) +size = Vector3(0.03, 0.03, 0.25904542) +material = SubResource("StandardMaterial3D_vlqg6") diff --git a/Scenes/cube_side_dispense.tscn b/Stations/cube_side_dispense.tscn similarity index 55% rename from Scenes/cube_side_dispense.tscn rename to Stations/cube_side_dispense.tscn index e89947d..a114ffd 100644 --- a/Scenes/cube_side_dispense.tscn +++ b/Stations/cube_side_dispense.tscn @@ -1,6 +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://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="1_qooyy"] [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"] @@ -9,6 +10,7 @@ radius = 0.3 [sub_resource type="CylinderShape3D" id="CylinderShape3D_24d3s"] +height = 1.0 radius = 0.29541016 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_24d3s"] @@ -18,11 +20,16 @@ albedo_color = Color(0.1764706, 1, 1, 1) material = SubResource("StandardMaterial3D_24d3s") size = Vector3(0.1, 0.1, 0.1) -[node name="CubeSideDispenser2" type="StaticBody3D" unique_id=200950572] +[node name="CubeSideDispenser" type="Node3D" unique_id=1285718741] + +[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_qooyy")] +station = NodePath("../CubeSideDispenser") + +[node name="CubeSideDispenser" type="StaticBody3D" parent="." unique_id=200950572] script = ExtResource("1_4m60m") item_scene = ExtResource("2_nn8tr") -[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=1018021004] +[node name="XRToolsSnapZone" type="Area3D" parent="CubeSideDispenser" unique_id=1018021004] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00070536137, 1.0440714, -0.002165556) collision_layer = 65536 collision_mask = 65536 @@ -30,43 +37,46 @@ script = ExtResource("3_ahn1e") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" -[node name="CollisionShape3D" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=182042233] +[node name="CollisionShape3D" type="CollisionShape3D" parent="CubeSideDispenser/XRToolsSnapZone" unique_id=182042233] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.15291119, 0) shape = SubResource("SphereShape3D_xmbo2") -[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1974757539] +[node name="CollisionShape3D" type="CollisionShape3D" parent="CubeSideDispenser" unique_id=1974757539] +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_nn8tr")] +[node name="SlideOffDome" parent="CubeSideDispenser" unique_id=1427609426 instance=ExtResource("4_nn8tr")] -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=1172420592] +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="CubeSideDispenser" unique_id=1172420592] -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1073546772] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CubeSideDispenser/CSGCombiner3D" unique_id=1073546772] +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="Cubes" type="Node3D" parent="." unique_id=100532970] +[node name="Cubes" type="Node3D" parent="CubeSideDispenser" unique_id=100532970] -[node name="MeshInstance3D" type="MeshInstance3D" parent="Cubes" unique_id=2040729886] +[node name="MeshInstance3D" type="MeshInstance3D" parent="CubeSideDispenser/Cubes" unique_id=2040729886] transform = Transform3D(0.9709369, 0, 0.23933554, 0, 1, 0, -0.23933554, 0, 0.9709369, -0.0038359165, 1.0421022, -0.1349423) mesh = SubResource("BoxMesh_irf4n") -[node name="MeshInstance3D2" type="MeshInstance3D" parent="Cubes" unique_id=2119335322] +[node name="MeshInstance3D2" type="MeshInstance3D" parent="CubeSideDispenser/Cubes" unique_id=2119335322] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.1336323, 1.0421022, 0.049409628) mesh = SubResource("BoxMesh_irf4n") -[node name="MeshInstance3D3" type="MeshInstance3D" parent="Cubes" unique_id=896999260] +[node name="MeshInstance3D3" type="MeshInstance3D" parent="CubeSideDispenser/Cubes" unique_id=896999260] transform = Transform3D(0.94914126, 0, -0.31485054, 0, 1, 0, 0.31485054, 0, 0.94914126, 0.021345377, 1.0421022, 0.13508391) mesh = SubResource("BoxMesh_irf4n") -[node name="MeshInstance3D4" type="MeshInstance3D" parent="Cubes" unique_id=1055210121] +[node name="MeshInstance3D4" type="MeshInstance3D" parent="CubeSideDispenser/Cubes" unique_id=1055210121] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.14830339, 1.0421022, 0.054090023) mesh = SubResource("BoxMesh_irf4n") -[node name="MeshInstance3D5" type="MeshInstance3D" parent="Cubes" unique_id=1800524097] +[node name="MeshInstance3D5" type="MeshInstance3D" parent="CubeSideDispenser/Cubes" unique_id=1800524097] transform = Transform3D(0.966823, 0, -0.2554472, 0, 1, 0, 0.2554472, 0, 0.966823, 0.12695658, 1.0421022, -0.07926583) mesh = SubResource("BoxMesh_irf4n") -[node name="MeshInstance3D6" type="MeshInstance3D" parent="Cubes" unique_id=192094054] +[node name="MeshInstance3D6" type="MeshInstance3D" parent="CubeSideDispenser/Cubes" unique_id=192094054] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11111963, 1.0421022, -0.094003916) mesh = SubResource("BoxMesh_irf4n") diff --git a/Stations/item_dispenser.gd b/Stations/item_dispenser.gd index 39a09e2..d54f170 100644 --- a/Stations/item_dispenser.gd +++ b/Stations/item_dispenser.gd @@ -3,7 +3,6 @@ extends StaticBody3D @export var item_scene : PackedScene @onready var snap_zone: XRToolsSnapZone = $XRToolsSnapZone -# Called when the node enters the scene tree for the first time. func _ready() -> void: if not item_scene: push_error("Item dispenser is missing a reference to it's item to dispense") @@ -11,10 +10,17 @@ func _ready() -> void: push_error("Item dispenser is missing a reference to its snap zone child") -# Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: if not NetworkManager.owns_world(): return + #if snap_zone.picked_up_object: # Player picked up this station + #if visible: + #snap_zone.picked_up_object.enabled = true + #else: + #snap_zone.picked_up_object.enabled = false + #return + # if not snap_zone.picked_up_object: + print("Item dispenser is missing item, spawning new item") var new_item = NetworkManager.spawn_item(item_scene.resource_path, snap_zone.global_transform) snap_zone.pick_up_object(new_item) diff --git a/Stations/plate_dispenser.tscn b/Stations/plate_dispenser.tscn index b0513e8..769999a 100644 --- a/Stations/plate_dispenser.tscn +++ b/Stations/plate_dispenser.tscn @@ -1,5 +1,6 @@ [gd_scene format=3 uid="uid://ck5tuftqmyiue"] +[ext_resource type="PackedScene" uid="uid://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="1_jgjsq"] [ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://stations/item_dispenser.gd" id="1_jm0ik"] [ext_resource type="PackedScene" uid="uid://bp3v1jl8pctro" path="res://Containers/plate.tscn" id="2_tfo2i"] [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_lr065"] @@ -9,13 +10,19 @@ radius = 0.3 [sub_resource type="CylinderShape3D" id="CylinderShape3D_24d3s"] +height = 1.0 radius = 0.3 -[node name="PlateDispenser" type="StaticBody3D" unique_id=710538846] +[node name="PlateDispenser" type="Node3D" unique_id=53391541] + +[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_jgjsq")] +station = NodePath("../PlateDispenser") + +[node name="PlateDispenser" type="StaticBody3D" parent="." unique_id=710538846] script = ExtResource("1_jm0ik") item_scene = ExtResource("2_tfo2i") -[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=238176038] +[node name="XRToolsSnapZone" type="Area3D" parent="PlateDispenser" unique_id=238176038] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00070536137, 1.1603245, -0.002165556) collision_layer = 65536 collision_mask = 65536 @@ -23,85 +30,88 @@ script = ExtResource("3_lr065") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" -[node name="CollisionShape3D" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=1942470044] +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlateDispenser/XRToolsSnapZone" unique_id=1942470044] shape = SubResource("SphereShape3D_xmbo2") -[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=831688237] +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlateDispenser" 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")] +[node name="SlideOffDome" parent="PlateDispenser" unique_id=1427609426 instance=ExtResource("4_tfo2i")] 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="CSGCombiner3D" type="CSGCombiner3D" parent="PlateDispenser" unique_id=696108271] -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1339763385] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/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] +[node name="Plates" type="Node3D" parent="PlateDispenser" unique_id=1364909922] -[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Plates" unique_id=2128650644] +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="PlateDispenser/Plates" unique_id=2128650644] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0289642, 0) autosmooth = true smoothing_angle = 103.9 -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Plates/CSGCombiner3D" unique_id=472067854] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D" unique_id=472067854] radius = 0.2 height = 0.03 sides = 16 -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Plates/CSGCombiner3D/CSGCylinder3D" unique_id=7092994] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D/CSGCylinder3D" unique_id=7092994] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.010312311, 0) operation = 2 radius = 0.15 height = 0.03 sides = 16 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Plates/CSGCombiner3D" unique_id=23957958] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D" unique_id=23957958] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.027119078, 0) radius = 0.15 height = 0.02 -[node name="CSGCombiner3D2" type="CSGCombiner3D" parent="Plates" unique_id=404631280] +[node name="CSGCombiner3D2" type="CSGCombiner3D" parent="PlateDispenser/Plates" unique_id=404631280] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0762081, 0) autosmooth = true smoothing_angle = 103.9 -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Plates/CSGCombiner3D2" unique_id=943162425] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D2" unique_id=943162425] radius = 0.2 height = 0.03 sides = 16 -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Plates/CSGCombiner3D2/CSGCylinder3D" unique_id=218364524] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D2/CSGCylinder3D" unique_id=218364524] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.010312311, 0) operation = 2 radius = 0.15 height = 0.03 sides = 16 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Plates/CSGCombiner3D2" unique_id=1548327331] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D2" unique_id=1548327331] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.027119078, 0) radius = 0.15 height = 0.02 -[node name="CSGCombiner3D3" type="CSGCombiner3D" parent="Plates" unique_id=1506211353] +[node name="CSGCombiner3D3" type="CSGCombiner3D" parent="PlateDispenser/Plates" unique_id=1506211353] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1214186, 0) autosmooth = true smoothing_angle = 103.9 -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Plates/CSGCombiner3D3" unique_id=739830577] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D3" unique_id=739830577] radius = 0.2 height = 0.03 sides = 16 -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Plates/CSGCombiner3D3/CSGCylinder3D" unique_id=1882120753] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D3/CSGCylinder3D" unique_id=1882120753] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.010312311, 0) operation = 2 radius = 0.15 height = 0.03 sides = 16 -[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Plates/CSGCombiner3D3" unique_id=1904629745] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="PlateDispenser/Plates/CSGCombiner3D3" unique_id=1904629745] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.027119078, 0) radius = 0.15 height = 0.02 diff --git a/Stations/potato_dispenser.tscn b/Stations/potato_dispenser.tscn new file mode 100644 index 0000000..c822266 --- /dev/null +++ b/Stations/potato_dispenser.tscn @@ -0,0 +1,127 @@ +[gd_scene format=3 uid="uid://sc6i0i1f0o48"] + +[ext_resource type="PackedScene" uid="uid://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="1_8orw3"] +[ext_resource type="Script" uid="uid://0y6wnjcsum6" path="res://stations/item_dispenser.gd" id="2_30d2d"] +[ext_resource type="PackedScene" uid="uid://drwuhqb3pjtiy" path="res://items/potato.tscn" id="3_mjqsn"] +[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="4_fx1kw"] +[ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_ur331"] + +[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_d4wpw"] +albedo_color = Color(0.48, 0.34336, 0.1872, 1) + +[node name="PotatoDispenser" type="Node3D" unique_id=1410160280] + +[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("1_8orw3")] +station = NodePath("../PotatoDispenser") + +[node name="PotatoDispenser" type="StaticBody3D" parent="." unique_id=1720683779] +script = ExtResource("2_30d2d") +item_scene = ExtResource("3_mjqsn") + +[node name="XRToolsSnapZone" type="Area3D" parent="PotatoDispenser" unique_id=805334513] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00070536137, 1.0162505, -0.002165556) +collision_layer = 65536 +collision_mask = 65536 +script = ExtResource("4_fx1kw") +snap_mode = 1 +metadata/_custom_type_script = "uid://cquqe4f1m1sw6" + +[node name="CollisionShape3D" type="CollisionShape3D" parent="PotatoDispenser/XRToolsSnapZone" unique_id=1104626493] +shape = SubResource("SphereShape3D_xmbo2") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="PotatoDispenser" 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="PotatoDispenser" unique_id=1427609426 instance=ExtResource("5_ur331")] +collision_layer = 4 +collision_mask = 0 + +[node name="CSGCombiner3D" type="CSGCombiner3D" parent="PotatoDispenser" unique_id=1746426494] + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PotatoDispenser/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="CSGCombiner3DPotato" type="CSGCombiner3D" parent="PotatoDispenser/CSGCombiner3D" unique_id=462017195] + +[node name="CSGSphere3D" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato" unique_id=359972032] +transform = Transform3D(0.7382242, 0, -0.6745554, 0, 1, 0, 0.6745554, 0, 0.7382242, -0.15066577, 1.0408545, 0.076017424) +radius = 0.06 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato/CSGSphere3D" unique_id=1185082311] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.06550818) +radius = 0.053 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato" unique_id=1791611208] +transform = Transform3D(0.9110552, 0.37138447, -0.17903017, -0.38194957, 0.92377764, -0.02737245, 0.15521842, 0.09331828, 0.98346263, 0.07202275, 1.0408545, 0.17340909) +radius = 0.06 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato/CSGSphere3D2" unique_id=421732580] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.06550818) +radius = 0.053 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D3" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato" unique_id=1846822725] +transform = Transform3D(0.915982, 0, 0.4012194, 0, 1, 0, -0.4012194, 0, 0.915982, -0.023129582, 1.0408545, -0.17174377) +radius = 0.06 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato/CSGSphere3D3" unique_id=186002472] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.06550818) +radius = 0.053 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D4" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato" unique_id=1463825677] +transform = Transform3D(-0.6086207, 0, 0.79346126, 0, 1, 0, -0.79346126, 0, -0.6086207, -0.06466554, 1.0408545, 0.15114635) +radius = 0.06 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato/CSGSphere3D4" unique_id=1513828324] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.06550818) +radius = 0.053 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D5" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato" unique_id=1192971071] +transform = Transform3D(-0.9572301, 0, -0.2893278, 0, 1, 0, 0.2893278, 0, -0.9572301, -0.13095556, 1.0408545, -0.10415963) +radius = 0.06 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGCombiner3DPotato/CSGSphere3D5" unique_id=216752249] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.06550818) +radius = 0.053 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D" unique_id=502335906] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15826963, 1.0408545, -0.03307341) +radius = 0.06 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="PotatoDispenser/CSGCombiner3D/CSGSphere3D" unique_id=1283597847] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.06550818) +radius = 0.053 +radial_segments = 32 +material = SubResource("StandardMaterial3D_d4wpw") diff --git a/Stations/raw_burger_dispenser.tscn b/Stations/raw_burger_dispenser.tscn index 30ff7d5..2c23c0b 100644 --- a/Stations/raw_burger_dispenser.tscn +++ b/Stations/raw_burger_dispenser.tscn @@ -5,21 +5,28 @@ [ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="3_3xuvi"] [ext_resource type="Texture2D" uid="uid://cexxfyw03hr81" path="res://textures/1.png" id="4_1f5le"] [ext_resource type="PackedScene" uid="uid://mpapt5mkbuao" path="res://prefabs/slide_off_dome.tscn" id="5_mep2a"] +[ext_resource type="PackedScene" uid="uid://cvucwxibtol5f" path="res://stations/StationMovement.tscn" id="6_8ou8n"] [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_di04w"] albedo_texture = ExtResource("4_1f5le") -[node name="RawBurgerDispenser" type="StaticBody3D" unique_id=235630131] +[node name="RawBurgerDispenser" type="Node3D" unique_id=383615587] + +[node name="StationMovement" parent="." unique_id=946873975 node_paths=PackedStringArray("station") instance=ExtResource("6_8ou8n")] +station = NodePath("../RawBurgerDispenser") + +[node name="RawBurgerDispenser" type="StaticBody3D" parent="." unique_id=235630131] script = ExtResource("1_gkb3v") item_scene = ExtResource("2_mep2a") -[node name="XRToolsSnapZone" type="Area3D" parent="." unique_id=1523586273] +[node name="XRToolsSnapZone" type="Area3D" parent="RawBurgerDispenser" unique_id=1523586273] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00070536137, 1.0645258, -0.002165556) collision_layer = 65536 collision_mask = 65536 @@ -27,70 +34,73 @@ script = ExtResource("3_3xuvi") snap_mode = 1 metadata/_custom_type_script = "uid://cquqe4f1m1sw6" -[node name="CollisionShape3D" type="CollisionShape3D" parent="XRToolsSnapZone" unique_id=2105824734] +[node name="CollisionShape3D" type="CollisionShape3D" parent="RawBurgerDispenser/XRToolsSnapZone" unique_id=2105824734] shape = SubResource("SphereShape3D_xmbo2") -[node name="SlideOffDome" parent="." unique_id=1427609426 instance=ExtResource("5_mep2a")] +[node name="SlideOffDome" parent="RawBurgerDispenser" unique_id=1427609426 instance=ExtResource("5_mep2a")] -[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=378049928] +[node name="CollisionShape3D" type="CollisionShape3D" parent="RawBurgerDispenser" 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="CSGCombiner3D" type="CSGCombiner3D" parent="RawBurgerDispenser" unique_id=1275577257] -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1973748218] +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=1973748218] +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="CSGCylinder3D2" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=590219609] +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=590219609] transform = Transform3D(1, 0, 0, 0, 0.9532462, 0.30219492, 0, -0.30219492, 0.9532462, -0.1276815, 1.0521446, -0.052202225) radius = 0.08300781 height = 0.028435059 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=177377476] +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=177377476] transform = Transform3D(1, 0, 0, 0, 0.9694763, 0.245185, 0, -0.245185, 0.9694763, 0.08106685, 1.0391599, -0.119440794) radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=622291452] +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=622291452] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.19005477, 1.0198405, 0.049397707) radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=703594207] +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=703594207] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.026051283, 1.0175319, 0.0042250156) radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=955808722] +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=955808722] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.05739355, 1.0197641, 0.13219571) radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D7" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=1066788957] +[node name="CSGCylinder3D7" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=1066788957] transform = Transform3D(0.9111114, 0.40515354, 0.075673, -0.41123694, 0.8813372, 0.2326565, 0.027568169, -0.24309555, 0.9696106, 0.14799988, 1.0345665, 0.11710405) radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D8" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=553053058] +[node name="CSGCylinder3D8" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=553053058] transform = Transform3D(0.9541017, 0.29948288, 0, -0.29948288, 0.9541017, 0, 0, 0, 1, 0.041060925, 1.0337045, 0.18304396) radius = 0.08300781 height = 0.03 sides = 16 material = SubResource("StandardMaterial3D_di04w") -[node name="CSGCylinder3D9" type="CSGCylinder3D" parent="CSGCombiner3D" unique_id=980376661] +[node name="CSGCylinder3D9" type="CSGCylinder3D" parent="RawBurgerDispenser/CSGCombiner3D" unique_id=980376661] transform = Transform3D(0.8510151, 0.22759955, 0.47325662, -0.16729629, 0.97174567, -0.16649997, -0.49778044, 0.06251989, 0.8650468, 0.2036674, 1.0335208, -0.024382353) radius = 0.08300781 height = 0.03 diff --git a/Stations/sink.tscn b/Stations/sink.tscn index f828ef8..2e5a36d 100644 --- a/Stations/sink.tscn +++ b/Stations/sink.tscn @@ -191,11 +191,11 @@ station = NodePath("../Sink") script = ExtResource("1_7hh4b") [node name="CollisionShape3D" type="CollisionShape3D" parent="Sink" unique_id=964735164] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0012329221, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.507675, 0) shape = SubResource("BoxShape3D_l02yb") [node name="XRToolsSnapZone" type="Area3D" parent="Sink" unique_id=1762550988 groups=["station"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.44614658, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9525887, 0) collision_layer = 65536 collision_mask = 65540 script = ExtResource("2_3ocod") @@ -210,6 +210,7 @@ shape = SubResource("BoxShape3D_ai6d4") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Sink/XRToolsSnapZone" unique_id=1926328538] [node name="CSGCombiner3D" type="CSGCombiner3D" parent="Sink" unique_id=311064646] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50644207, 0) [node name="CSGBox3D" type="CSGBox3D" parent="Sink/CSGCombiner3D" unique_id=1147823280] size = Vector3(0.6, 1, 0.6) @@ -244,9 +245,10 @@ size = Vector3(1, 1.2053223, 0.352417) replication_config = SubResource("SceneReplicationConfig_np_sink") [node name="ProgressBar3D" parent="Sink" unique_id=654673176 instance=ExtResource("4_1pinr")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8164611, -0.035980098) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3229032, -0.035980098) [node name="bubbles" type="CSGCombiner3D" parent="Sink" unique_id=1624244242] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50644207, 0) visible = false [node name="CSGSphere3D" type="CSGSphere3D" parent="Sink/bubbles" unique_id=1363004819] @@ -265,6 +267,7 @@ radius = 0.08 material = SubResource("StandardMaterial3D_0gbf8") [node name="water" type="CSGCombiner3D" parent="Sink" unique_id=1050686091] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50644207, 0) visible = false [node name="CSGBox3D" type="CSGBox3D" parent="Sink/water" unique_id=1224655006] @@ -279,7 +282,7 @@ libraries/ = SubResource("AnimationLibrary_u2x8c") stream = SubResource("AudioStreamWAV_ai6d4") [node name="GPUParticles3D" type="GPUParticles3D" parent="Sink" unique_id=1688415718] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0002603531, 0.6479259, -0.03759767) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0002603531, 1.154368, -0.03759767) visible = false process_material = SubResource("ParticleProcessMaterial_hrheb") draw_pass_1 = SubResource("SphereMesh_bvwq1") diff --git a/Stations/station_movement.gd b/Stations/station_movement.gd index 406533f..6df2148 100644 --- a/Stations/station_movement.gd +++ b/Stations/station_movement.gd @@ -1,7 +1,5 @@ extends Node -@export var snap_grid_size: float = 0.6 - @export var move_handle: XRToolsPickable @export var move_ghost: Area3D @export var station: StaticBody3D @@ -138,6 +136,11 @@ func _is_move_position_valid() -> bool: continue if body == station: continue + # If body is a pickable that is held by a snapzone that is part of this station + var pickable = body as XRToolsPickable + if pickable and pickable is XRToolsPickable and Helper.is_node_decendant_of(pickable.get_picked_up_by(), get_parent()): + continue + return false for area in move_ghost.get_overlapping_areas(): diff --git a/Stations/table.tscn b/Stations/table.tscn index 87b6325..8a83e47 100644 --- a/Stations/table.tscn +++ b/Stations/table.tscn @@ -8,7 +8,7 @@ [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.99146974, 0.060000002, 1.0059766) +size = Vector3(0.7983472, 0.060000002, 0.59873295) [sub_resource type="SphereShape3D" id="SphereShape3D_dlkho"] radius = 0.6 @@ -40,14 +40,15 @@ script = ExtResource("1_2vcpj") money_sound = ExtResource("2_jslhm") [node name="CollisionShape3D" type="CollisionShape3D" parent="Table" unique_id=228053941] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50155246, 0) shape = SubResource("BoxShape3D_24d3s") [node name="CollisionShape3D2" type="CollisionShape3D" parent="Table" unique_id=276384063] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0017700791, 0.47, -0.0042381883) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.094791204, 0.9715525, 0.0012244582) shape = SubResource("BoxShape3D_24d3s") [node name="XRToolsSnapZone" type="Area3D" parent="Table" unique_id=1947858647 groups=["station"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31874347, 0.5270121, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0285525, 0) collision_layer = 65536 collision_mask = 65540 script = ExtResource("1_8j1nt") @@ -62,82 +63,31 @@ shape = SubResource("SphereShape3D_dlkho") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Table/XRToolsSnapZone" unique_id=2135860710] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305) -[node name="XRToolsSnapZone2" type="Area3D" parent="Table" unique_id=694448387 groups=["station"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.34755045, 0.5270121, 0) -collision_layer = 65536 -collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") -snap_mode = 1 -metadata/_custom_type_script = "uid://cquqe4f1m1sw6" - -[node name="CollisionShape3D2" type="CollisionShape3D" parent="Table/XRToolsSnapZone2" unique_id=650960099] -transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0) -shape = SubResource("SphereShape3D_dlkho") - -[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Table/XRToolsSnapZone2" unique_id=709529410] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305) - -[node name="XRToolsSnapZone3" type="Area3D" parent="Table" unique_id=1734026785 groups=["station"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.012355864, 0.5270121, 0.33038777) -collision_layer = 65536 -collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") -snap_mode = 1 -metadata/_custom_type_script = "uid://cquqe4f1m1sw6" - -[node name="CollisionShape3D2" type="CollisionShape3D" parent="Table/XRToolsSnapZone3" unique_id=1271210642] -transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0) -shape = SubResource("SphereShape3D_dlkho") - -[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Table/XRToolsSnapZone3" unique_id=2000860662] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305) - -[node name="XRToolsSnapZone4" type="Area3D" parent="Table" unique_id=1358457948 groups=["station"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.022546828, 0.5270121, -0.36528283) -collision_layer = 65536 -collision_mask = 65540 -script = ExtResource("1_8j1nt") -stash_sound = ExtResource("3_0s6ir") -snap_mode = 1 -metadata/_custom_type_script = "uid://cquqe4f1m1sw6" - -[node name="CollisionShape3D2" type="CollisionShape3D" parent="Table/XRToolsSnapZone4" unique_id=1880499470] -transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0) -shape = SubResource("SphereShape3D_dlkho") - -[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Table/XRToolsSnapZone4" unique_id=790672192] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305) - [node name="CSGCombiner3D" type="CSGCombiner3D" parent="Table" unique_id=2085635675] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50155246, 0) [node name="CSGBox3D" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=411048765] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.46137518, 0) -size = Vector3(1, 0.077, 1) +size = Vector3(0.6, 0.077, 0.6) material = SubResource("StandardMaterial3D_24d3s") [node name="CSGBox3D2" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=2093582402] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.27815637, 0) -size = Vector3(0.1, 0.31586915, 0.1) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.02685462, 0) +size = Vector3(0.1, 0.9258911, 0.1) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D3" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=839228683] -transform = Transform3D(0.86602545, 0.50000006, 0, -0.50000006, 0.86602545, 0, 0, 0, 1, -0.21657634, -0.106895894, 0) -size = Vector3(0.1, 0.8768555, 0.1) +[node name="CSGBox3D4" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=345709075] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.41408914, 0) +size = Vector3(0.1, 0.15142211, 0.5341797) material = SubResource("StandardMaterial3D_24d3s") -[node name="CSGBox3D4" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=1028598922] -transform = Transform3D(-0.45971727, -0.2654179, 0.8474747, -0.50000006, 0.86602545, 0, -0.73393464, -0.4237374, -0.53083575, 0.10796261, -0.106895894, 0.16580808) -size = Vector3(0.1, 0.8768555, 0.1) -material = SubResource("StandardMaterial3D_24d3s") - -[node name="CSGBox3D5" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=892392906] -transform = Transform3D(-0.38498235, -0.12489955, -0.9144338, -0.5286442, 0.8420017, 0.107556336, 0.756521, 0.5248176, -0.39018327, 0.059352398, -0.106895894, -0.2290039) -size = Vector3(0.1, 0.8768555, 0.1) +[node name="CSGBox3D5" type="CSGBox3D" parent="Table/CSGCombiner3D" unique_id=550923256] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, -0.41408914, 0) +size = Vector3(0.1, 0.15142211, 0.5341797) material = SubResource("StandardMaterial3D_24d3s") [node name="Customers" type="Node3D" parent="Table" unique_id=2147179512] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50155246, 0) [node name="Customer" type="Node3D" parent="Table/Customers" unique_id=1265943831] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.016780734, -0.08218986, 0) @@ -154,6 +104,7 @@ transform = Transform3D(0.9999998, 0, 0, 0, 1.7476468, 0, 0, 0, 0.9999998, -0.73 radius = 0.17520222 [node name="Seats" type="Node3D" parent="Table" unique_id=1101423789] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50155246, 0) [node name="Seat" type="Node3D" parent="Table/Seats" unique_id=1951252898] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9079602, -0.37259835, 0) @@ -189,14 +140,14 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.33084005, 0.18746406, -0.15 size = Vector3(0.05, 0.6713196, 0.05) [node name="Label3D" type="Label3D" parent="Table" unique_id=662960977] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3247777, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8263302, 0) billboard = 2 text = "table state" vertical_alignment = 0 line_spacing = -15.0 [node name="Label3DTime" type="Label3D" parent="Table" unique_id=1534849507] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.513246, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.0147986, 0) pixel_size = 0.003 billboard = 2 text = "20.1s" @@ -205,13 +156,15 @@ text = "20.1s" replication_config = SubResource("SceneReplicationConfig_np_table") [node name="ProgressBar3D" parent="Table" unique_id=654673176 instance=ExtResource("3_kjf1i")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3676775, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8692299, 0) y_billboard = true [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Table" unique_id=724610642] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2935008, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7950532, 0) [node name="PlayerDetectArea3D" type="Area3D" parent="Table" unique_id=913445150] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50155246, 0) +collision_layer = 0 collision_mask = 524288 [node name="CollisionShape3D" type="CollisionShape3D" parent="Table/PlayerDetectArea3D" unique_id=1538221021] diff --git a/Textures/shop/burger_buns.png b/Textures/shop/burger_buns.png new file mode 100644 index 0000000000000000000000000000000000000000..658deed72ec2f899560d431346de30311a909f7c GIT binary patch literal 22101 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 CnlMQK literal 0 HcmV?d00001 diff --git a/Textures/shop/burger_buns.png.import b/Textures/shop/burger_buns.png.import new file mode 100644 index 0000000..87ab96e --- /dev/null +++ b/Textures/shop/burger_buns.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmomecu0058xg" +path="res://.godot/imported/burger_buns.png-1d188acf1114db952605e27ec3a22b7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/shop/burger_buns.png" +dest_files=["res://.godot/imported/burger_buns.png-1d188acf1114db952605e27ec3a22b7d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Textures/shop/plates.png b/Textures/shop/plates.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6922510801ddad45e729acca0a91c6ff35af68 GIT binary patch literal 14166 zcmZ9zbyOSA_dkpjC%83Gio26ipcHqv;%-fF*HYZwo#JlAifeI8a4D_@N^zGb{k*@w zf1W*O&d$!xeeKoB%$-Sus4B&CSi- z-QCsI)x*QX)6>(-%gfu_+sDVp#l_{zmoL7)zF)t7_4D)d_xE>pb`An-Ai3JMAi z4h{(k2@MSm3kwSm508k5h>VPMa&n4_ii(boj){qhjg5_qi;ItsPe@2eOiWBlN=i;n zc64-1Nl8gdOG{5r&&bHg%*=FfaLCHavbVR-&d#>8v$M6ewXv~*Kp@uE)?hIB^XJc2 zR#p}k7M7Nl=H}*RW@e_QrY0sPQc_aJ#>O%-GKPkRDk>^!YHI50>Z+=$Mn*>3+S(!_ zBD%V|dU|?7LPEmA!eU}#IyyS?^70A_3ZkN-5)u*`8XC&V%5rjYyu7?@Y-|Pw2A@8C z($do6;o;%r4am6c^>WmQyEl$4Yd7Z+z|XXoeV|M>AE z2L}fqA0HPN7Yhr^hYue>Ake#a@7}+E&&VNIF@cO^Y1YZ8p|G)eH z|EmZHaIcL=LwE)6!^OkPg_!pr?mrroy#KIL;q`wP5*!KXe?8R&_~EtxqvGb``uBFJ zG&5!72bM7c0_d%rq?o3s(Vv_!ABrEaQ;#JdQu^!A59fZ|oMQT01C zHw*L$?K%7rZy4{)yFa5Y@}++`k<*Oo_M#l4`MHAf6%89TsJDkpRPk|!wZs(e^h9v? zC;6Y}rzIz6mgs638L6r1>VEoUsG*^+t-TI4;p58z+uI9y9cn7r*y#Jn$b8mLTUwo2 zSzTa63dp;gmg6ErPxtj*?d<&c^kit5^XAPTJG<&?_TJ_s_px`Tql!taYz6e8_+@$Y zp|Ckoh3Ky{$N84h#W!zIPE(RIuivZd>6LWhH&nE>l{7ckbak1UAavo+EjM3Z$4*Yx zJU{2Ioty|$E559Uf1#g|tr-`Ian>^63LI$s$>q%ofw$+RzIMAWvPr(J z*x-gSU0&7Og20GSlf4Y1Ra8^R?9oiL+UPj%ebhz17}hV)m(F7dX*HP>5# z<^^iwP$m=Mo{mUA$9OgMF33U95ROI@`&J$EzL`!9Dj~yo<}z&W9G}E*B9c0Rf@+ZEee$ zdJPp7_4Ne>9UUE2RgH~}MMXu6pos#SQ_mirm9OD98M>IG8%RhF$o%A^qhk}1@~)t~Z~4Dp-TLZ{&o}cq^1AvL=2v!i zcbAqf9G{?~#Uqg7c~b-;&VZ0RKYn~N%*lE4XTwpz?cBoL&rf4URKnNS&`wFI=~0>m z)%)0?sHLS0y*n|`|A-Yafb*yv%rs{_31u>a>xE@32!hB4`^Vgbw4PP=Y*aMRI;iJ8 zO_f6tcDBf;Pgjwl_tJX$`kUmCzg(N-i2Euk4xG1s8?4;OVvq8Hh}1=-Rh2Wx$qh>` z`S{Rxm5|Jd#&P~)($`J*Ta!$A4fZ44S239P8*EYFy-&K7idgm2{94t$E z5G|!8X%}Cw{VjA2f7#8Up1ViKVjx-ijvH2H1x`MEi!hUxYU#zrJ}fWs7yVD$`z5d$ zTRnkw!W+^Upx~=-D1ef2kWweD>+Cc^KYy=|Me!_6B|if&o3&o?1tGnwk?o&mjIABfTp+t~vN|66|nX%l|(5{i`$_JGgzExS?3g#HSTQR+2)D)Q(r3*k* zsUDaQ8-bP;f`G9>sAaaxzf~Dw1fXm1(#$oWoCgcD=sh4C65#znp71qmzWG|zqx)Xk zyIpL990N7SL9)$0xy+$R$(J^!J%-$*@q z4q(S*r!)s{{!*8Dt#A>Vy8G2}k_Uq-%G0k&`@QZ}lfpJP4Ez~;-TPh>RJndIzvY9L7I+nkWUN4jrGofwzyZ2&j2MkZiEoLZ z1C~O~+6#OTnTCVEF!2QW)5sk(@6RP?+lX}|6lZnooAji-2Um#^p&R>Va1CoxHm*CC zoynSb?t(O=Q6A`;qL%s|FxUc_uD%LjED<9g9NvIJ@z`eut`zM&f1H6vuLSpNTuV>l zc$E+4y=Mrg^OR_Kg!n-`f_%cRYi}!edv_~u_)N;o3_g>yjef3Bm<@U;ueaHUXznN!MseF`y4iFJ z_yHT~Q^$S8*w{GOYuPy2CnqK*CMU6rjCr+j1g=*EOBYXzS(;7%a7ptsNg)z|Lsd2Ws;Q}x<&d?siWGh&rE0lA4N>(? z69KG_nPeA~P%4{Z1FVq7to3b`ablFl$H(;y`;Zb8i+S}kTzT;0r294kAq=1G+Q=dKqP@w>HnHzj56UAqERM2;%h!$Srs zB44r)Ci|+Tik)+EViNjU?yRFxV>)kg8(0$ftC?jwz6;S6zl9zT`_k3Ty|F1UPE^3o zTTvq~E)PCJ*QvIC<_9)TtM7%$43_SbXwUa2$bx`T1H=*4Ina}nwcj(PH|`Q2^fNTo z#ahqUK=PWMEnqBlfkH>z6wP)fQUSni4@GQ?zt2u@lRe26meq z*)kN1r+;Ik=b`^OL5$)pRrxDN`MdFc!BsFvevtO4l65Q!%SGnwU<<+(`ftR9clTb?HAag?L7R zKdDWQiq$u^QAU*Vd}uFK`Gy$Ki})uEDSX3Els0F?_D>$i(&|VN0qhiYylcs`O#8+M zqBEW6X5_9v$DQ5wdSCxT&SV0r;VUxf^3rfEA}K&($`xGXwWW`~d+&&POg&J2T!-<^ zj*?dKHo~Q7Hm{oIehCo)tQi5&Ngq1E;N9S>lseF;fmCB6)0!B;@`pcpiz|SD+~FdP z5lNa{Svpa#5_R>sigHw98yb=*=|1uv^MqYQhrgQ;cmRzzS4ae5T~eS+5rJ@Kv#G zj*j4qwM|F<0y>}qomh|s4WtRnxfmwvsgKayVI;9KVMIEUNgX{S)OK4pKucaQ?RQTe6c&1VG`z(MT`wl! zY|5H!=`S|WF?}dhLLi32_fOw+St;D_l5PyMQFH4Oc_H(Q6*YWZ3uU~zA zeOp_JNXV%^bU+olq&zu)Ol+2&@8dY6MPk}SjKAsn9eDOjdUcMDVSB*3U`Uhd^}Y-P z1&O+;=n#Sn;Q}oQMm$QBZBA}(sN484MZB(ok>QHy#m5BMBF9O@*zd!GhdjRIm@?Z$ zZv;hybPbk3WHu8A3x70HrR`)$$nq!h&z9)N`g(M)#(#f2ARF-nVcXQFSTZXpoLD|y zUe3N6o}Hb&q&WA#Qe?y7Zx&t3^J+^ZMl&?dDUe_sYvW^#pU54&vtLYiJ>n zlO?I`eqOfuY%wI;&krA_ z1qF*d^9bo8`Ni{duw7%T_z&*oS0D(Mr7N?o5H6C}S+DZ)W9HFzk9Q7c`{em^asK3Z z0d$W;ppO2ro8!QvjX_n-o;1_5o)d09L7rDaR=uS4&CU2Rj5GQsvH8_q&Eo6KA%b!G z5JaXAtM<-dF5vvZyd7SuG+{LW(;B)PqhpO`>VKWgR$wY;){h?*F<_3km-ZTKi0WL& zAE%x&f__GyOEd9+VJt96Gd?P@0=7T+3q(d5RcYw#zwjHd7(w5LEF zCQ3~T`GMnz#$u$1jX3gqVGLGj3wD4u(q;J}TJlIZA901g5oX+o5+9@cQ5wUr(4tfB zCK@jKw+Un@NFU|6zzthH9R}&>6&J5Odqxd$>If%tR!gaRY6}SoMXoSdt+DlYzl9DZ z=D$;|7vL9eXe4oCj&Y^2Zm3h!nKW@lLnb&im8|pG0DpIqo%`PEdwqQR^LT4ij~}Qa z`Vz0_mC|JtVW?nrS1u#hx~fG1U@(^Hu{nUmg(>w9=i%LSV@#51YKF5)=P zeROQp;V(K&&qkvN+7Q>rk}*Fkx}COOuG^ic7(c8K(J$ORIV6#37CDQXb56EVC z&}IU8SOqw(i|l>oYnxT)*&VU|?-p<~jN`_%gARUosxlDAF_CeQw8)r5ontG=klp*? zg;fjAcGUY`|GK+_K^Bvj!Wp307Xd-K(d04FO-7bWRL_vbRBYddM7uOpUx3L*AYp1A z4z>v*_G~Cdm3#vFHjc|6rh9C|!~T>~EMn}OBSoqsfy{gaip?n7U`$eUll?cysT}Qr zV6u#HmBm+!(dj%)X#!LKG1MF#lBhR}9N#68)K-Hw>h_4UwXUaf*56X1Q5?ZuvFSRh zQ7k!X_tNXkQ2KJ)XPZ^IJtzkG0aFcS)@??14#ub33|jgsi08FUF_7Vte2MS=##$?O zEuFze+tHyCvBc#9JF2aY?s$$>q2}e-9DhwYW3~DT%B(pXbZ7f?j;=FMQ&HJPf!6u~ zU2}qq28?KjP|>;L|VdhapEpTNcCIxx_;RyCxgo6fsxj)IIbr>X|WQ%J*| zj8P1TNK)MFj6RC$GGia1tyDx#K{nzemtkE?4+7wKmuf;Pgbp8UJ zv#GF0#LrauJ97HpX+jYiAO=gJDb%+p)dS?!k+c*sH3rwrGq^20UZ;^=6ZHMt4P%=> z=hre8j6Wb-BWu?*&&L}E1yFC3b|7L`xbQbb`owmA*_~#(O)9`JIP<5?)f%90d~H&_ zU$64dM?B#uWB**lr7~d$r)o##uYEDWyy%%L;C=LhY2m<%z=5hM(a^w{c1^5ek7~fj zBkZR5%l3jxgNM>;>*k88`^`a8U zq-Nu7*%pe@Ke+jtg@433vcCk;9^5*Bh4mm=li%kWOF2l>@JHi6GWu4qV(bK4`5iG@ zWFa3LFm}GqRFlroal&rKP5{hunA(&laCaYQq5lHmSEdv!E%ES~Gap}{MBkBBV5B}oq#GX0s&r7wQ-)9@gKcxOo3$3QIO$oo2L(&(kU1|18 z@+ayzD01t}EFB!Z`z5vqdruFDY_F`u+uJuB#%;>DYS;>g^xC=LvN+GAQ-u6wK>@kL z-dBMguTgc2TTJ+S8&3oVKKAE!JDzQf&XK=ogvSH)H~KbfPV~&ZXK-_HzUjXHKNaql zAX+15@3#B+bUq+F3@==IJ~Qu)nPcdo&K{<(WV+jX4IneW*~J_s83!QGm2rrXt&ed#_|>U z4^L=q}`^X^3(DOPXo5IH_S3vc=o4XJ_=;ye^$W_H_NtUT*?$c3!f1! z@;piH9ecKGz%^c+f+mUEsl)YE#`&J0Y#~nTH?FugufyQWuXlxF-&8ElW3$bAmyogU zJ%1ijxDw7cphXq%ncc-eUQdgoVlu%(K4F`sfhPB}P0P22sf9U#1yhVXZ+n<=DFXNa zHhQMlMQ^CA(~P9qTLSrqjj}G03$!l}W3qmPaibDSWBz1f-1ZaX017u0!}bXUI8Err zR*3}4MZdIsu41Af!S(nVNZh*_?5Jai>{{j{oq#MAD!pM;RYcu_EM%WQF~acggK><` zq>RMBAL_v^gOTu^u=+Ab5^Yc1K1Vk|oQ5WV2wlr46vY=^Xzcfn^OtX0;pleCe499a z`zjLHxf&0#slDI7+r|--;;@d6NQr-U?1i?4Hu(DUj@s!IvpM`U&7!1POv*a@0S*b* zB!xx1;@}^6IYzqOP6uPJH!u>*(RNe~MuzkcNZ>xyZ*8Ds6LjS()=Hp5Q``l9)|C?6 zn9GdU<(ueo%RzOlQRNjB8zfCx;?oWtNdX@*0QvKFKBX{1GOQ0vM8Ej`!#>bJBQZ3^ z0{F0Pvdd~rANYDM1#OmgTg)bl2m(c_w-QY(AxM@p@?WL)rSjyRW2ZcG5r%-Pz0LHbQudLuZ{PFU_-t^b9bI+59p{; zK4q*W58ck?gb(yl0N+lJ)(>1KeHFoFliutvWTZ<4Icyl3DQQ{nR%In(V*<^1!S0&nxkw`Y-~Qv(`4e_m z(3rfAMSoRVxYRsp+Ud_)A+$exy)vu%rZ*g9Jd+d!CpS~(3oYK;^LE&lXd#_plgX~) zRRednGO@2JSXum~tCb45!1EXlCF9GUtUo;kVncJY!-aE3+s!CvnV9b1u)Y)b1o(t~ z)VsVOdrZK7kIfjbV;uvJXgl0WRrgk-HF-NanJsNdNO-!HN3rgzomSSBx(3l~#?!l| zlJdo#cetk_exv|csRn)!u2@W;Jf;vAkJI2F%Z6&9lt?A5RL+7J$*(&iFC@f43`M5* z_DhWD)bL-nlpz8Sv%fG*werx1Di#)2mN5lKb!H~ybtyNckODQGkaoLYQW7en<~q^# zW)z67IJ<2zRsC{~M_)SnB?#2azU``iUO8Bzf9>QDla!^!^Z^X`H9tn@z$m%Hb z5oVDIo_pL%+@iTvxr(7Nn0aUihYM#%E)voHjT4KCh(1lhBN)p5 zPk-X(2guYoLl)_OCn?K(4BD$Fk#Kebwg&{?)x1rynv}0J7nFw>bVtCA!mobF@ax+* z0mZMLJ3Iq3?=8sU+!(2i3AQM#HlBg~G_GDMTR9Ln z>?V>CZxuG+X$Q0`;5eED)l~Qc zuLhDbrL2hFyxlh8mzU`48F?ps)+Ng*qC{c%;XPnaC(AU%_pTj$aBvfmFvY-VHSl7X z%q?3cTTE!{hCu)=!v=**iXmdl_E{ljc+N4Yad8;5c`m5|od*-850n`MJTxrS)e?4J zwd(%@rPIcR5)&N!Euel2LLJyI)DZ9Z&O8)ppdq&J-zbrufaWhtCoA=YGJ1U39v>p< zhTX_Z7j3iPU|YBpvMJ>Fj1s3&WAKGDNq(GeA7bb#P~o7nSzyo%`gjC`fyCd3wD1Vi z{v@S!uF6{u16cFFbT@LnqmN)>NEPk9Y%~jiR2sgK=xyES&82(#_?c;iXYtqe90Jl`-_mP{8o)zW|CR!bsD=;H+Xmm%QUp}gU~z1=PwvT zm>gD?sGs=1G}nVl6W{5o;vxI1GWieWnVI(Tw>bYfWT^A+h{DgVQ%{+28WB6I%iRqp`W=+?Qg}6fHiVC7cX{}NSp7Q)&$rG* zeLdU_ER?$ac9*Biqg%hm7s(pe6S?EnL<1y#nr-&vm7^k}#wN{O_~FBGgiDBF18-xl zubWSVZ;I6%Wz^h073v1Oua&?tlNC4Eh#FkrD(>)b_ZAB$H(}`A^wUw1B^QKmYSwbF zk4MMG(jXU6iA7_Z{(z^6e&{fftt3gTeaUtwi8|fMLSiJ=fz3o7Y~}Y-Af(U^WM$KZ z-FlkKW`~)c&qK!xZV&s8w^*{DhioIj{G&x}V^Iw=@bftYfjbCv7C%INH|tuETICGO zQLB@k+dpJ1E)F3vq&P?lw(b?$%S?;1%aiAP3Xao`bl5jd{}n1CoD*DC;JA$0tu8>% zz=d-4Yy1^YJQ+f;ctD#*Jpvh5xml`>qFwR1lUZ|>qVsj^qP&dE-$2T%d_M88u=HY# zB+wPgseh)Mcy&WVLt$a(kIw1|bX2602vXmrG~a;XjsdS3JY1Pl(qOOGgQHJsDFCr+ z$K6I`%eKb6`Eq|mQ3T9)lJH!Ih~MV)7TJK(C3|6mcu6hR@X?ug28wRN+8x%d|RuDs`4BW5&( z@EgEW0rfYKxVS+^W>CoS@pJ{=Rs$zT?6|-vQK_B>sE7s$64Cj6k>{SwXZFZ_ZQ$qq z_+GV)_^_NMV^VtScBQ(g#2V16qPV!Jsj|AWv#_v%a8mN7zgg77!&nqO`qKs&WRr3E zIOFN@c5sxG)@96J;_=I8KO`Pc)~S;<%E$ab$+=B!DjM7d&#Cmk;@2)&Qm90OO+J3a zG>s{Gp>ilCB==vH5kgniOk(B9=VA1zq0R2S`l`Qe`0=;asFayCOdNYkgL()vWxNgKY-kk|`hO;=a0-6gkzVl@Ai&x7R^ygZcfxpTlyVoVfTmf<)fftBBo% zGjiu}fR=^F>6KV2CBSHw-*0{{l>ET$#z*oCuU7uT?9Ou*!TIzF-LwV56%m7dL`A9~ zF;)}?dh9d|$DP_rJ|CGIfxz*S{Mz`0+S_99Ms|tONbtb#C^emwM=EHI_>-Z_df#$7 z&S*O*-~B#*WQP{I{CNB{^cHY*Kp-R0?aqt~q^3T>nPA7Fes+JEMkk}dzkPTh9VD?7 zwx=o}3O1uk3HF_yaCyb^+K8;p`R1E*d>%vRgAJIq(^=pq;I#}0sF+!r4Z2jEx`V<4 zjsJTc(%aj;>+4qrBn8jHO%}#|mc}hR!mZ{xzw0MI!}rF9rw@ubyMx3EK+KPIDMssG zr#{=!MHhl~GE)T192&voT#2Dmn8Cp67N5CYkllS5W{y{&njDeO(KEhxuja z2ipG7DaUK-pB`^Tx}5HQJ%(Ry=oF%wpRH04#Ft_SQEQk7t^DZL#-#1y3liyx6z0C_ zari_AG>CG6L3uy20>2(1=*KtY@oey}uP-O_Vm_Ykdx-cRZB7KaTu7uVXc@U~1j|YH z9Z+SFWeE9fj!q02e<7C)Nl>;Q2N=IdKF71XW;jwhk&ym{F6 zjETnE3j2W*x~F*~dUy0;ecjjbXydUYgf5iK!XtgX+w(ies zpTFx}&WO`&uJMBOcY-14Ds1!XY z6~msZt+0D3WtMDuxp8@}uy%|^{PE$r7{4PDOZevZ#2uuiO}PT|!6~5o>2f43Oqe_^-|g!q z4A)z9>gVUP-Fy_Az!bjpr}1^auQ$B=0IfAqAv~aQRz~+7y1Z$;zsL47XV=k2LB2iR zPxGAJU2749AIPfC(@^Ij0kYFbVvEf1mWTAF#-ugp>7EsBjnJJt0n0qf5vy&-Bgfy8k*wMK!G zlb*g=ZWRW(*jKrxiTXddei%I8zjcQ5g6xCgtKja`YXVXI9>kE6eZUqdtN)a!Ng5+m z5hS!0jG^U*dlnbh^>mIS7WjLl+U2#0brsu$QXH<*iE*3zQEz)>$oA?f=iM}3!1Y!^ zY``=8P*{>(%7D_xRpcfq6h-@O#-aeBuPr`Y;e@v0A2*CeUTz2W7dTH;Sm_4;Lp|&Rr%QYFE20kE=ULsbuRI%w8+vftg#wMBt z8|q66yKCB7{73ALOA@qG;?b1rpdZ;N#lvfb9}(Cz!jp3i4a79e!RN=ttUoCI&PLvM zf3bYZbOi)?Z2$RUe4MXlpreYwUErDdC%8_9E5phufr7Nu1TDXOu&Rcya-yQ5t7bH| zh6R0effMMghbX?DrN2RF9T?)2ApiLojd|?yaqs#r=*VNO`{7{U@5TCsw&q~7jc9i@ zZ|bAC5EqVuJd%}m#1iE(AXzj~#7(xie7%YZpha>;e1#f4Z+#(Itvh2opAML_va|G2 zp?}QHU0JN5!Sp>-D_~d@(5YE!hSYU0k_t25y=jsuNmk09YwS!xi=gfKoBbTls5P*DJ@>LD~hvD_2& zz-tT8RfCy|YC5Ipe$vGeAQ_YAhPIUXkEHHZyFR=1Yl*bw?-AVG6F=r3Mp%p0Mgux7 z5j)8Jyb^El$-?G*3%bget9WfDD%$uOaHful8ZVnYdRoBTl`PBHb%P45qhs<=5GM;8 z8%rp&)|9aVSV-(DZ{$UiHCws1CM#)okZ`g-%4Nn};^JU6PvxANXwXzjO2XVl%6zVT zG&OR*IX1R_t1qyxU@dcW^rS@aLef}Dw-u3_4H+2#s4<``4nY~W3`-tNnpKUBT=#pv z#`-akKb=yhAW^03?)mW88w2;d&b#2+0=U)kR?_;!vFFV!EmPoUTmRV67Z>wfF-2n) z*3?iY#^Q)BtBrr~KDY2yLrnS*+viy?xcv6{xbtndbQE&w!j&TtH`}DR2SVY|=E8c{ z*`&y~+mC|L60KY*+9$)_ZMdt3jEaCRaBvkTVFPIXmPMFna=V~67xg^S-h1)rP0+x#Zci~2I~6z)RTnu(Gcj`1bH(1(@kj%%8-t@pXHgJYpV z;&lU%QEmf}BsIVI(S>*jkK@n(o?o{F&mW**N^KC7G7mYz@Zc4_Vp2vACZsfeC5S0@ zln^{?h%O{mk}f6su=^ms+@d~wdb)5&zRks*&HmE-e22K5e?q+H#DSAM zEc|`BeQ!7TeHhu_X&iLk0S<4@A}u=84jWv5md-k#J>Te^nTEdc`KMPnmhv{|I&4oU zrsD-+=QVWr;(y%Q0$<#~kJl?78r4*o{&v5NgD-bInsDHsNE}>ejxqk~bz`^OD75?h zbR(8a93xa~Sny|Wpa3xmGym*5?CmtkeF|rHhu`|!7z+OE6373?g%onBPR^i@$jdP! zioZqr3BBl2xJ~ zE-`0%=${Qwe9&c7=ra@O(XjneL`9-{=g|;!ISv*=0*bVOnS!=a;QvB^L6cy&L##6Y zsD@;=X^R5(78GQI;Mlmb$S=o#4{`c(j@@f~P6Iy8W;x;!85p@|68xu#ubjYp^GiTC zDc}uq%nxHW0Ao<6;;LP%XA${0oG^G>0iN&@R0fK?!2(3|ivUWQy|=S@;6lCO1T+=- zVL<*#CIy8{kR{!aI-JuE9u|o)HiiIW^bXHOcmO8_)KAOBj0K3~EJKROPAy<2iXrJj zDFwqxxI8lXunPJkzG%HCWVm@d&OytK7OSCZrGHmu+%Ni|w_{_{K}(cQFq0Giss)d1 zxVL!iLK(@7*y5PglFag|46O*~r!Qmu5`z6YB;a$bn7x$HruWme}gSL?rGxOl&O7?5wqA zu8Hm*S2=-Id~b5%XG+>tUIhx%=D|G=VN?SK@p3wv**4zzSEXecYI z^Iu|f-pk;CXNC&9+~NMUOJ8F8qiB(?wVWCwxBT39X@A9_z!-F?32GF*AXSneYl?4i{yR)^qf6{7q826hgZ3lFPpI7QKupmgaz_r1|MWx!j%Vu)XB8Q=7h!s z!N+=gIb9Cms$vPjQ$ckL=Yd11gw?k^BRm=v;;&_{q((o#Nb zXvglmiwplhomQ#@jY#JkwDnx$7e%UvVTibVaV_f+av5uI|$Wf zH0t|2q@f{PNgV3R4niV8LI1-dI#T>Zfx+V6##u<U=6Q=H-ycc-{h9E$wY z_xtXD*Sc9Nlbkb2PLh-C{bZkKN2;pGVZS1Mg@Ay7tswtS9iEQ2&9Op2#D~UB0Q4) zZ~k9*m=KZwyZ^64+=xgB`0!K@9&I8}{=07v&;JW1@c6I(|4IMfry?LABOt_~BcQ;` zaPjbRA?E&1yZ`E-=KfDxDe(NifCO&|>A#Zd!b0%e|JLH>;`;aRVsS?DP!pyx0)j}S z!aFHVFQXHGn>g|zcOy%!kH)-WKrG9e(7$Mwy)*dVy#{AYhXa{(8+!>Yj%t_`Vaoaj z!u2?l&r)x-u-=Z=2=@H`!WzLAwta21%^@>oI`W0uBJuqxN06BO>BWQ*0ueISuDH)b z1ugE2m+s=C?#I=SVynE!CgOZPJjNClmLCJ2F1);{3A;x}qnQ=^#co&J&f0I+e9zi< z!yx41ehV(-8X3{?@$r+BY8n|>11>m}qSlIui1!lC8$sS6lJsm(ug%MQQAmKLB^tT8 zxw&PoP(idY$nI{s_=9sxc3HW4SV6d{Vz~x5O4Ih1`5i>P(EJxyHH`6I& z3X&z{@_YAJW|rG!NKcE~o{}050|Nt0D^){7+k?JMU!<)Vt(@cY=)!2rNkOslDb^ z#sEQ|q0I5jk%l4G3fKqCuoRfuPwp`MUp~YTW$}#A?2RldnqR9*uq0f{_S(0NKyii- z>1LyZz_?_HF28QzLO2~-%>KwaJ>8EdK3%E|W{t-namPiMckfwtG~PKK$5a&BLt~lS zl!ONffi>84N65=@KToCR)Q@N%aqM6fv&M7h2Z0kJ56u?DX7V568vu?H$^vbk#pYxQ z3upy?Un&YyJ|<%|E2l7XQQJ9jKmE`cB<<+b_W-Gj%gm{dkajdNj1<_w7;^XnBX$4_7Rc5XFrDJLWgDenmIZ;`nTG|d_FlkjwLZjFA_~7 zgm)Uw`~N*@`eldT^&>Mq-TUc!{+Hc1RVNa2zvsvMa_wr;6h&vCk#lrxtakY<2V!fS z0%x-|DC8%Mtv?Nff}YlbFf7KyGiA-kRA{JVDk3W@8$xZ}ptq5{YbquPG;c1Vd*$P( zDXv)f8eF1YT2g=QL_zIBZUuor92~ICrjgSQ!h}4I7k*_5D%7mIRTzYoq)0#3a@4wu8g_7Sz#&11 z4BV<{d_Mv+`7P^1E)lRo=q|&cPqzIsn$8O!Jj7=$FFazjyi}Y~C5ub?=jQfMVo?ce zQBl#91`7kjg(eCtkGuHuT^NY=@VPVge_t2Pm>wiN-V$9th2NQK^KX{` zT`ji!J)v%tP&osy>+27&B=6byQnXRhmzv&N&k^`C8MUI& zvRZ*(Z7+kaQ{B|U0#8A52)|y@NC#}=we+O}kyZnB~P$&C9uWPdU11_U7ojNd1b@0IA z*QFoQ1??8@=BA}2TkwFiA>94e-wo(^U%IeTDR3noYh2}&gExRAB&AyAYTh%Z3t%Xo z0;l4AeFw%1_wlxm(sHg@)4VlrD*fEq_CcmJ&I$5hsLbx3qSye};kjm)Ay zWQ(TvlUByrw7VoQ$ZIrIwm*Jq-=P6@5h(+DfaXJn_hNd3Af;Dlce&nf#&-(?;+9`t zUr=F6Ct`qn^iI2#>KhwV0!+T^uq`!y3-IR$ZEtjkD(d!I!_-TYMs`?|zj%WX&$Haz z+?aWTxy9WNHGS+p4eR2HXo3nsL>qI3jE3{X@_5l0-6*uqCed6WPEf9JZCL>Go2=is zeuL2#cB;^$ObByvFS(GjiJKe29AmLmp6cMK-B^W-Wd%q4% zmO|Z39BL@J$fy0eO8t$mAl*FGpi-g#UU88DHST^j=%qUFz#oNMkp!euN@C3w43h%x zQIu;ATCm)m1@3$Z!$YB6?jhj1)LL)%A-RU zhBf5^>By+4oCGotnrMf1T=Vnu53X@Q+k^46wjNr3oqQUBZ{lE=Sa6wo{^R9bEPKye z9QzGMkNlt>8=F4}dNi$AIqP+O`OTB@cXH<=fnquy56c~Ofet1HVsD%hG3Gf2h-ph% zaN+SrLoX@xXPm483`YS{_>KkHy9kJw?l`0f>-5i?x$pxCA(;)~G5}3OI-kFjs4*HnuLu4VA^@Avc_Y`FMB}~A%TA@Bh{lrzd++eW+t1EvbeX0?6K6N7@=nRTKOteNzLE*7OMj{&`GwCFruOM{^kYvU>Z&HlUJGm zDQ3IoNQdRU&hr{P@K*e8XgKl28<2_mKA1}d6`MDgk2s`=5(fxq9IUIzV6(eFeWjd2 znH7PBY1gY7A+N~fPD?U1ClG=uMWWwIUTq#EWJ;HyP3i{4qcJF;{+Mz>18r_2DETZz z%*q+iNE-|?XJuix!?(g-*H642NE3HFh%|ma@U_68rDH}2luVSzCMcu+`bv@5g#(GG z+MJO7BbF%?4Cn^2aCi-}H?V}8z*|Of;|T3`VCPh`!@<2>^)#jus1=t_WNyO`9R23M zO>M`Zj>I&hMT~?&n9|C2DKIXHKoN3oM2Gjgt#XC%d0!$h1ervd=sg-n-uDowP^u=f znJy8VMlTSwOalbKHc{ z?5QJgwfOhu1itRpI|E;S{`?t?j1E@@01zCYjps>6z%dND1~&m%<(r86_2I`$Fp6qc zP05)1YNnvmunT?kMj~aTx zW%O!}63W$2)ZHapGKMq^l{BCR57tt>d=%Tud8&TdoCxN5XQvOOX<|d-)<3})QsSBl z-^s;MEd_w^c2+LwyN78DL(iV&e89`mN%_t2y=lNvT~!4a=aK+n?+XY6?N`V8&&6)U z8An0u?XDV%q15O8>zAVAmj?3=4SK&U>n5#dj;{48;owhDP_Wyip`)XtwY3!ngSEA_ zH8(fc)Hol_RkpOWzz4S0=6%`!m5ku;aF*Mm{A<8*Pj1Smufg~XKsPCrMj;vi{s@d> zpcXJBEKmW$wwC*Pzkz(~8z7nI#LVXoNTx;qRj`g&h7W)L3~60Rrr^)!%Rt(wIPlo6 z0T)Mxlk zgN?EkqAtr^9F3lIj~I5#qdxdely8j2urp=wIVgWBr zf(yK4mQK@w61tAHNTheu;#UpSRU%K2UJr8rx){Qxa#TpA?ZyMY{8QiQA#e(<+JM?j-3?o<H64(EJ=W3h(hZOo8+dVx557(zRwd$+CE3g3<-kDK zBPg?sb>)CMnA*H`A|P!g{Z<&oRx4aWM+J(#iyZ##a7tCuY1gjz*eoTUqyuy z&9ml=+^^$1QEq1o1ks(KB+vsuba=!xx%NAKj8dw0KH1|)!@2&lBu?Hl*USXp=Rz1n zfn)i|Cd29z-X8%Vl&uxaa66vyS6lS!h8Y!@y}9c8%l1Bq7D`F4?rYq0P?{kzF4l4F z5kan>{Vek5KKVG}wI`pN#E;gL|n5e*ev$v~DKIP2;l~;p0Cy^^!FI}+6urQl# z{#~%sgdvtp)d#6`?|>RDhZ+6sBQ*(=tX?JsAsiYg-e=mpWsX?{bc2sJ(1YR5+T99@ z2-2l}Y38f1cS%#65LMnF=E4Ij&0?#CP~4SRJfFRG#)}y28>)Nd8W})ZP_7*bj?uU3nyMg@(kn={HCaCS&n{;(eAm;yA?h9m&`-6sNR8q?!jKEnbR*2AcKv zAQt%NjPlB$@H;I5y*kNY1XLV|mYbIsj|mb|x3piYLfo0H*(pf+Vo!Rl!d{JQK^2?<*)_a;4@{>XV5ghf2`c2%IUnj>nR){=9H*?>>*&~ z6mNN$O8j-^*KxnfnU+_Vd-i+qOK`k>3ATcwaHud$57}T!-W+)^!P)YU-KHrI>U>e4 z|6^ijwT468S_r;gkzAoa@0!iQZ-b12o_EaW2~j1c;$pj;{x`dBvF%USa&zU%MUA4V z3T|UE?K^^cMmw1~Th)O>ZQiM-CUi%Um5+`FIXq~hi9YgLez4=hse~MyC3l}NmH^YM zXTouTBjtI_nJgS8U3cO*401e$h&YUXuREJdA=WDYr%Bn7Yd;ng;F~LcJ%AK49tZ^e zu&CG2a9>$`cSOO9pl-$*mOzP2tLv%U*cVaCZ%}Helc^A16z{G(NLQ%6WD2PfFpt(u zQY;q`+?7Qu}uwtLjj|K_Hl0S@0 z*r5Goo6{t{65HE7;lhPb<$L7y*h0 z4&gpM;aL_nF`;|kGe?3}*iotpSE3dq=%9#^PlG($v+TGg{c9%U)N(b9 z(0|x(7^xq5m`MnT3(O}ZCm&?&lpczG@eALSgigGFIf@11GFAo4<13O(h)`?4qH!P$ z^jcu&{rWS=6;*Mw+4XD`m#ZkZT zQj0V<;NHSfZMWTgYQWL@qa5#4mDedIE+!&j;$ysre=y1`xx1b}M#9v{dGwQD%t}12 zdHGns0TgNmhW}g5Gp&OgE`2;+!B^9p=$&(flXm z`FtbE_Mm(9TJ9Xz99M}Aqb|~_P9ukay~-9J-jlVmS0YwRN+B{ulH7paS@}GOk@X0I zqayu4n9jbPQ_SRl0dBHWFNNC;OwWG!iRX;$Y+xzq1StR}=Q(ds#Niew(Sql8r}d7n zU%xu*ux(S?;BA#UMqE{7eKB-H{j8+&P~10}LsAY{Syjz2e$`H#hsF zySX?FasqCL4L&3wV&zX;mvV{gjS8nY;L{{_N4pKb8@VLb+Mx_$rq%u@@zyV6H1Zk< zdkL6BnfpKE*>}5z^_3}Vi_8esA#AaQkRW_JC;%r^+OS#{dNEjjae*5WDQBB4Hr(5c zw$X3C#t^yPXPqn%9UGuauv>IMCAzqDUV}-h1={W0M$+Z+_#Hi@iqhUtdhg$=P%ND- zq&S#n;(?ug+iM%EbbcX7mWVAvT@Yh2M6mk{yP-Z0PS@rF6lg=?9}RJ`Ol9$_9OkTu z=LL@(N3IQXe1a<^{jFKJt1=XgB=sF@be&dpmIjAwN+y{xm_z$|XmmclaV5b7pIq1L z@F>{`4K%WW*}xlX&O1>PmV6jveUJ3Q+`I(gYR;&|U)-(EphP!gjmL&vy%zOg5oqFHlHn4}9>vMIZXp(A9 zLQR+isA<4Jy{ri?gb}u_5KPGO%|QnPX&+0SQqls0vViEjsK&_)qWQA;9>JeL-!b977*-kAtPkS^W_*WJsF2Ug#HW%RMADlf0xAIyCdN_eg(zOw2IfZG_g! ze6ExgW(zTu?rg+(H^zTh7c1ZV&ixTFTIG{~Lv;bnfHPFY)<_MalL4)%7CgK6MvK)kC_uo2LstusVvrTPwj@tLj^SP8o5)!0&=x5{e5-agDH>stl~ zbG-(8A-eewqpDw`HTKkWn<3CG_YxuU?+(lUDjvlxSvf%s=UkFiqB}s1nShmYV1Pn` zR_g+xJi;S9ZLrG)+C`3@t6+bw0fW~}6}Zxa9mN+tQ~)f2k{}p(&D5an@7Yt7M^_#q z+k3RGeJCDMgoQ3L^`d}wsvEJykB6zf-RwZDIW0CDJ64};oZ1n@V$&dk&$NAc!Rkf{ zbIvxSaWkQ)cm~nQt^s>v3BA(3Kpo@?xgc-)EVupz_(VJC_-wk(cmA=)yZf5LC}iJJ z%E00}CQ~@4=ly5suqo%Y(-rTgKRO~mLyZEAmAoT0$0O2KCJM#*19ji~ZsE?WZ)<;_ z92wChVGa`zH{zVOiw3!}Ya(-{=dRhL$s0ucDblTnPY!jufjbA!b6UrQW0W~)!-E3= z1ws{dJll9Gzt@8iLd2ano@);M*%Zj+^gx86Pgq=5ubcv|omjc z;xGmhGAi9c&2*oCTFc3tJkin-(lq+suBhqX6p8xE!1yCe1BGU02{A>e{e z24T1CsE{v#cN(SjZCQv}Mi6RtISt}Pl5+eR_RFjg=*%l}!UDvCxn1qc)0!wUO`<9E z$GlVRm_+u8Zs2w>BPI$)83PFI;$z|XSisg~Q;s(ze+k;}zL30?6?tvz20!flT??kc zcz?t{pI=jtlhVaibg8gTm&abb^x)o-5AN(NK@4%LBBFs0r*{Hk?E8QV$GPfj9NYF# zymPiQ9pQ)tqAWxvR?MK|wWf%erGn64MvjSZDrR-fN`85&A6AeVr*r43xuHTFjvaRg+oXp^FbDP}Tt$F9#$RCJatIQQo z+=Br*52citUTb%U`AKL1j1YYL1}g%#I;o}7E?>;$(1qH{creGUp!fobu4UKHQ}f$n zD)!w=;pN&$<k?NpZW83&K}EWpTwPtw&85Au>y4EF zLL$noU+sd@(@7SNY8`H7a_3eMZ_d_@S(5R<@DE)%kK2sDn$^vprxL4(sp(8mfrMp# zb?3O|bV9P9T{ut@G9NJCZ7)%f#8xo9X+lYea0V%{?OlC%R>za zbSMn&2l{<9gb8eP+~5V+;P#Jzp=b`;Ac*ilb~aNi;bqOuSPC623a!$Nz<1D44~W7` zXZY^Jb5AGV)(P=L5-dGEecm{*ealrlOT_)~;rghn?(R_C*kuSfJr4Y2I4@*aGilvr zSYBS9^L$kd@ASq)-G{dO*%u?b=IA=-i8p#rme{CnGVEYB%*NTD7jkUqU*cBEEAlVt z1qHUU_F5_9&VO~@Ic?>KsjtmNcpyI9&z#r@uHA1JF!ptyj6%GJLaQJbV-;}aQ?ZU#L6$UE25cL`G&XKK^;@JfNmEmE_*bB zs~O8ElMxNt#4OC{S_}OB1^pDUzsKhD+1>@OB4VIT0MJIR66mK698)ZYwN+9oUmNwV z*)Cj!B3yjgFqmK;uT^7xEwqPOp4pVb+5qp;HV#IOSjdMRaSWp_gV?#uXT`$jRn{ik zucOPf1#)xhr>j3k3C*=)jsUms!N7=$9+Pd7csJxd7lk9{<7ZCyRo z2Xc--^QpkJ=Nrv=AQ-o63XyHowLmH1=<8-seoB4Kcys1)qp6`ZI$>Ed zHFG(tA9;y4vk`KUP`79%(7;Y&FL#wuvE#;mZR$?&Qw>~<=Fi!-t{p~wa4cA85W#kz zf|3B>pMs4HJp`PkvqZfw;JdAe4-sxD7P#?-e@Y+w_BI0V;oJH>1+OZ3_S5C~;IxH3 zkS(a!zTTV!Kp5x?Mat$|v7_kr(k(pgaSixPWRBH1HW?xHess>j0NEzd zk<&=Q8ga@cN;h-+`qPe`_hYFeO2J=vW4QYF0v_h^!SLmWqQm-^8x+|q%NV`@=q8Y8 zovn=x-n!Ts0dC1rIpj!r{QeoaxVRW2X~@mb-%wjC#k{JZd;^DW<+gH9HnH!5w8oijEWj#k~tx#`P!gN|g0FlJl|3IPjNSkp#gBcr56pD|XWm!Mk$hLtO zM-MF^Wnw96JuPDag)0h9>AuIaG=55%D=DZD=tb1#rFnc>E* z=j__}(T&6c>-U_;8^9ajOqzqB!5iE0;Mvvgx{*}Q%#VK?bTcd$;r6i?WUJVuS1MzTCcaWajOCXl6&`PkzG(#K9tWEu5*PsHF%5Fe*k;wo z82Yl>jc%9ah|A17>%Z+tN|eIpjnRJ6GK$dtM5O^Xh#K!mPia#RI=3Wc8anEs2%Ek> zl3qIO=-o zi9DE8=Q!&k37t}07z&Dm=-DA8VaH*Snnq*xd$sRK?Vz>y>~*@Gh@A;p=>Jq3z_8VS zzt5=MBbboi0g4E+Qhn>D>IR@aeb8*2gW|zRWuO}^{MAW}jbY!MBi{AZsU(Ei*u>^9 z<$|f9=g+lfn-mh&*`AqsGij6OIdCqCo}OZkE;cDV*V``3tfSR3Z5|y=Qt(W2KLhKjKu8EzD=Bzfh|%mSU*=4N~Jx z(GO&}lckd5mkg7H#z{-e{rV!INf&>d?R%H)x`ED8UEgg2?%Ob)0L9FaM()l3p0B z8-RfULb0%Sxc$bG(6A%65gu67C1R`GwD}MqncSCJrZJamfo;b`cyeXqvneVr^s@VP zu}{!4)hN@jRiufhQ(d=m20lw^$G0RXNDYJ>CNmEt2}v7s5o!=tyd}TGbNu0Vk}Yz~ zTnap-3NYxTqC4Q%4`)@h?l>^R1h-HE!X&dl|>hh z2R7k|6E}Sm03?-OLayUdtysftBjfL`Nqj)qU=GQ?n8N(=y|^?k@^z?S9P2xUIfAM^ zZCmz}^N5?pcdBs?=vj{@C?=vNk5lCrUijvAGMpw{#=4x^_uS2exJmn_U_omQogBna zQpC_m!Q*NpKaJ@RdEY2)C7{iCDCS_m0xp-%iZqd}aQqTZ+OOvGkQ1Z+d6}=*YKDgy zYym{ZrJA+^nMHggaGnq#@A}$3Eu!+DoILYC^Th^j_@BLW^;vbSTp%sea7B^gJ?C10 z8umcph2K+7RXI5P_m&1E?*E?ozM!w&KH~zpQ(v`^A5*iVGuJzQQ+&Tl5TgqvQlC9b zEX2{G^`679$TcHl&%tPO;;UAVr)@HwpRN7uKu}ZLQ(%^!L04GuS?aqFYyvq==)RZ5 zvsX6B6u6~r?EldlGc4rn??FSXg>KB&T}S6-23Ad*TKSAVJ2At4skgUclgx)PGsK;$ zaU!j9!_nT^)+1Ct(XaejRLfO@Z$AuS?Wo%{kcFIB((D-k_?iq#1=_#by17&~)*I=s zSGWLrQO&bVu&(L2Mq%tIn`zD2`!u4H{afXVFLI`n%(9|S4y^m&UmfLma`&hb! zYy0$WHQl3G%l4h7Z39(de$HGrz>=IrHwyey!gWfZTPe?v8r%Moyd`UXLu1OdelIUz zS;b_K&anCnWd|;+Tpt-f;Xw1AENl?BR35R{X!yb~Md67FCEI|p7$3!?zC-%;VE}o5kT)_4hS=140 zvQPUC;w-#ZEW&%J6+4r9)B0;AfoF%6JJ-KBY_T{hodgVxS$MZ--_~rlxRl{y_R?s6 zO+Xk2+mb3svKUD+n?p^&HImkT^$`3h%u&?v%Fj?qB@>Psym!=K02^(bB%sb2SEW6# zsF+{0z*HwNX@8P|mGD(`?Nzx)p0ZY{=FQ2nl@aD-oeP@dJSH5rH2jh+Y4;k*XXmtT zl`34*Gpc5c?kA0GtV{)n=tjuy-|E45Wh!HOi2T(xql#MenfL zC$74ke%s8)!ZZY0)(^S1kXNuA0+O)6^0hkl4SJCo6`hB$Sbf6p(ZMabf<*J1Zf-XI z-t9|(aiYlZ4?V-Om1`FpCYnN?f@QO#b=m1I)EJRhGp+1Qx$nd5b&e25kHm0McK{jO}jnar2p=xmfr)POpu|$AB^bx z$JZ$n!&=D4nabRNg90HNv6pV#c^ULoI|NgOnRA<>83`k-q46#+=bq7$G*p(DpGZb4 z;Xsiwn+VPX0dDD4S{lhC=qx&|G`rlLn_lXntU6?bhIuRzXN#*+GVi)JiqaF1Zj>D{ zVyB+JwbB2MM+~P|lso-;Iz4+zjVX~9z3X~9dzmBwtEw#B)$;U&oER+j&Hlham)qXp z-s-`%F5Hxo8H1XTx9^?ddj7Rd`&-sF>CtZb15OG{v6wx&j*%RyVY7oDBW-M$Yg>;) z8xP7yP9N-RCT6mA49XqnRvE|*_cdC=N$o6>m_g#CSG=e!c!2cYo5R*GcMBZef z0#qUJ;lULF7!dDiKU~;7Tzve)sd`@li^!j=LPD{A8M6BZ`Vht4&VYPOI1WGbCO<4+ z+BvQ17#US-+d4KJ%<2cUAABS;YS^sO)_;F=-LyBq)>_-v+(^>Cil9`9V9Sh3WXq|$ zH;lvfnC!1BBS8lR03`y(y}Fu-YixV}R>t0T7Rq~G4RA>oUCj0ltQUD=PthK+za8Z5 zTC((a^xk@STuN?9W_4rzcN7?_9ObBDuW~3l?tkv1#XStACN10!`s|3bcY+X~M=+LI zb*3?AeP7)v=ET5DZ69XpuWGi(PhyhkJ@<`UL>-L*80x;9rjsX?5Q&+0HV48s09^_Z zBU)4ux82nw=eWZ7$=W(+OK_`+mCLspE?XEd@k;W(TCX$~mbc)sr zw}jv=PUtHkNB@Z=U^KaQ6dfWTNYBW~$oWv-6bym$F5xtj-G)yK%-Ih3vEo<05ex$t zF*`z9ULHcn^x+usm!!lgC!BG}P zaKe8SvzZ3F`Pbzm&xal2j%s&T#S-n`KJMk#)OQS-ytwu6bZ~N6802Kq=^LK-i}a9C zosjHNuc(Ay2UqO;&|iX}Im%@>G~vz>nY)e!3);Fy2>6$rOtkmbe0GXAb&kum&^0-$ zbs%GtY%$=-8Q;6~=E8py)n`_#!;%bVcgo8B3vedQ!a|zE^45Rh51MQApSwG+LUnFV z>mXZ%==X_I?(p;eM@#ki?(2ka{y5B9Eg93z*U{2aszQvSiYC}?zB zFbQF~uOM*q{e3fKg<1Ya!o)dE{x7mdcu$|^=JtTItD62-X8HkiFRfpN?^Bf~V`$

$}%&5!>Ev>1r{Kk)HYMH{hzwyzGR zBM)t@_|s#S!R7yS%VFh>=6B~26LZ6m454k39s#bnB=gm zCT{S}-XQfI*Oo2vJN&Tj% zLQXcvHe1$CAlIvFVsa3N>pW^F>;e% z2=OZrZ?Hr6e8)`#(^s>5LRO`%6PlU$WXQcAr2wf4MgyX*nYbfof=oNYw~q=?X@LKE zsJ_@@%iE5J+3J26-@IEp=9$&~=kekZ$&Cn;g3gV8y8>_&%Q39~>{jheI zXSmul5o%>I?&jkrV4FLp$51fprk<71Dy*$eYWz2X zUcf{mME7=`oQy0{i}`YxXyURo{7W9oq}Y{O2g@V1f`{ktQ_wBtkXcRg@Act!PZrn` zmM`1sNwu=TaUSf{fhULqs{d*K^^O4fgJ;FWoyvjo!TUwa3) zeFEZF!o=^Q8n53NMZ7-L#?E`DVCCybY!ln5jmhreTjKyz$Odi3R~XWHqMgpzo;C(l z**6?J1n)x$=mlkb7l^R_w2cHKCpq38!Z0mNZ4FM&MH`@|bhoz}eCxBO|Q^Z{gk?bMy0)xjw19yu5K+ zc?n9D)(Zj&?)ZmcghwaLvF=x!F+M*4?m$E|71-0?TPJ&atP15hLx;7}=H+aWqsvBO zlr-&|ng|pKzY?qZX}mqIP5j41>@vGnqVN6AaeRb<-5WBkYuM?XdEOK3f zledp1aPs~AGKJ^zB@#^hI!K}MZ~Qgt3Fu43?2e%vtPhGRMx2Mo z_4iMV0hj1Z4YTTkGx;ouKse|68{7|Orc@(l3+|~g!HGp8FG^0hcd*W-SI)^GDlo%ZoD>ABZkzT+Z`(rFRwXrvo=;0YEh`VMcEbPrLwF z)Ay#bA2?D&&0PtJF`z-pX8CV-PQb@I&dXdpJYZ%xNi}8u`A)H%^6a!D-q|%la-SSzL2)O?Sq*ez?pddQ#W=O0;7o4xaR49}>5{!g= zQj9|~#FujnSA_R|0lvG5GTN+tINkfItE9cp>kkV$Tmw6?Ct} zl&%C3^mS$G99B?`+6kk7obT_KJnJ1@i#T%-3lf@ooW)Q@68t=D0c3=i-BPNjCx z8S8#t@N^V)(gfzn#YP2`SKo6Kque^$!eo^7U*ZexKJJqMzX_V67X%e`zl;D+Y69= zm2Ec~uXmWGJbitYT@T!GCti_tfGLePpi}6+Pj|z~xWEDF7OkAR9xqu9WpKZFhF=mx zeB#7DNzDlgZyfSyY>2HC4VEdMLg9Iw+ZuO>|E8yjdpdKk?>@5b`gst)Zc&#fn~40x)oo^pZ?&xb7`=Um%_+pf zY}(+m>uPn;Pe~dQfQKlfE-%-{nnh7pFB*iwKV>Q++Klyf&13MP=H%dIHyQ7r6PXuT&GLnt zl}SYTh!_^ek1|4-r7Qq3D&SVWF`|CooXaC_cE`g^j;E0}@>Bp)$uWzkAednB{bV&< zss25IkaF5LnK|;CDh}a2UEIl)UJA5@KNud-Fo$Ir+d}4mOP0ZBKXF{L_sNQd|9KNm zy0)~z1;(HMf@_PYuyA@wdH=wGer3v@_o`e<@-19+Ec5<$O5@DWe>BWBn^;wd>FE3+ zl(20BHC$11BF@7Rlhjmef4mr>)=d2rWj5}#usm@4w0w{xBK~1n^^E^=4iegl!T{)ht0T($2KrAh&0vKr5K-X zM#m6Gw?lz|V}3PxuBYZVWOHq*@Zl!?oid9J37=HB1r)Z`qT&%{PjC)fhElfiw z7M^*2oW!}Vkjaj`AsDr?5f~s{*lKt|$)I?Zedy*3e|(Pv@8I^ZcV3Uyl58@-&%K!iX literal 0 HcmV?d00001 diff --git a/Textures/shop/potatoes.png.import b/Textures/shop/potatoes.png.import new file mode 100644 index 0000000..5ffb085 --- /dev/null +++ b/Textures/shop/potatoes.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blekcmdjkxs0q" +path="res://.godot/imported/potatoes.png-348ae4010ffc422d20b1b18ef1c047b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/shop/potatoes.png" +dest_files=["res://.godot/imported/potatoes.png-348ae4010ffc422d20b1b18ef1c047b7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Textures/shop/raw_burger.png b/Textures/shop/raw_burger.png new file mode 100644 index 0000000000000000000000000000000000000000..a93deca5410f507fcf3cd4172a7731680f6742e6 GIT binary patch literal 39247 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

gET}w$+>eP%Ueu{!H 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 X?x4-QHM#tl3K;r#3}IzDk7NG_Obv>R literal 0 HcmV?d00001 diff --git a/Textures/shop/raw_burger.png.import b/Textures/shop/raw_burger.png.import new file mode 100644 index 0000000..a9b7655 --- /dev/null +++ b/Textures/shop/raw_burger.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpaqhbpmk7exf" +path="res://.godot/imported/raw_burger.png-281cd44e6d7ec4dca89ef14be14b45df.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/shop/raw_burger.png" +dest_files=["res://.godot/imported/raw_burger.png-281cd44e6d7ec4dca89ef14be14b45df.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Textures/shop/table.png b/Textures/shop/table.png new file mode 100644 index 0000000000000000000000000000000000000000..eefcd98abc6e80487d721a1138459998761e62c0 GIT binary patch literal 39292 zcmZ6ybyyY8`#yf?_Rt(UMMQ){igbt40@8U%=?3ZU5NTaz ztOTTTjA{pbLA4N96o)`+;&5(_(ZF{s2RUtL2;@=kzYS@?z8C=xlDkN2xxBGAcX2m% zGJ~iXTiLm=D@m)<@v?KWb8-GzbL}8UzXKy#gEM|Lue7 zKvDJMyAkHU>qRT5QYn9pwu|u?;aMv#EUtbICS$A=6 zbp7~2v4@ahA~ep#HOhO9ADom#GCPDjQW3urk0klw)n{-zRW@eskNJ5A+?DBR;ypy@ zogya8K31H8uHDwgrdr8dK}o4r2|eDJl9tvYb3_as_f!he6)jgD6q?6Uo|xs;J|=J; zIsV%;lg$B_gl40HA_jeL`k6shimMl-maR_7C)ECuQ|^P=y|;mwd7XLPkia>1El)(= zpa34#@U&|*Z)_hSxuLhCx46G)<66eb;E{81)wPjHuSPb_T84s8AD1h&Xa&^_29Y66 z97c9BjDKZUbq(eljW6^~w&#B*4Icds<>%&Rv<~hyzSb+7VJM0xcfqu3TC8Q`_FFt~ zV@+ylYYR5jPS&kRW*ctr<5l;{7V-I(HIX=KPJOr5UQu4YzrSBy=@pN3>eXJM8Rg1b z-PYFD+B)1q;eac;ER)0XZELIWkf-na_wOq!G@x;hBOv{hT>bIxL0gjt2ez{_5N51+ zV@Y(}9a|rtyM;Q7@-iCGPTM>oW27_I=WA>JBE$H&=94w6v=INQLYi z9cvbBOd_e68O$v#;^N}8=d$4a9W0TAAp`3POjcfA*Voq+u~ym^zSnp6WRiasr45re zCnr^Zj2|A_wJ!6GK7obw74i3Ha6YZ*TEct4hW%ePY;A4dy^C_43BpY!czymfWmr~L z_DmZ+ZeYr;N&BrZOmvVqQYOEyt}aHV_xQB6rpEa6<>TnMI70)2+DhSoXdi?ZW4rM_ zGNMZ&SEWJ6OdpR9WotWT%={voXe5lx?s9*DJMS{*&xZf40uy1kYUF!yl zV)}Z~uBQw+X$qlu-SPCpwW?=n+0M?+f`Wn$BL>O=HOuh}3LltSEyTyk;oRK4S%);8 ztK$M`;uf;c2qUEUGBPtW&6HtcZl4)%;yCHvQ*rtpt&ozEYCS<2^q0<8{jU$hSGH{$ z>+8Q}6*{z$_@6blwT%dni}l0qb1yjNNd~KpZ`aygNvu9FdA1vLuF~S7GbYHfky4VA z%NI?Vnwk<35rGQ`6AsB(p21z3kEVfqw{y<`}8q56u=#WqtlZ)?0DFCRCnz zLl$|8993c;#_G-YUcV$xxZlP+%|?&w#XubE5_TdPr#6Py8EB9GOA5%~*;Z-=?IthM zzbh3Hmz*nKGUiit@wf+EPkx<6~+XG{S^DJ3E`4l0rsG3VL!;VIlLAC!otE4k3hS;-nY?#JXUDFx^Z+ zsyf~eVN6pf;vMC}RJ{+^SA+E3QfP$h?{qG{&{9#&pY%z&gg|U;Z-3Eaulaq(#?F5D=T9AY*+EKy-6|F4+OwF0(_h<|eT`l*CpLF{r=NPkWntyd(3<67}YKE8}8tV zgRuJwQ4PQ%;Yx$Y+Z3|ADw`>t+XDmquo65)kmFTko{jx~MOA2OerXBSd8?$q&SKon z&F$jv-?-RVC1qs}cJ|7uDsa;2m3QlM<&5>H`P98Ml?E)1GebL>{RU1yMY)5A;@gA7 zyhq2`pOP@3MjLA+MXLPvXOl7;qKn_0Th1}s-$}u74cQSr0r&saA8+>M$(1=e@zSq7tZB1G>W4`XQ?#&ZfU;|KOqAYwEWb3SWka%8HelQq2tX zGu>~?ie68~`JVmuyZ_y6ffKuP$3j=fYeZ{5h>-AFANHRKYmE@Tv@x%jX1i(I*R6i? zxb|C=R0H&a7l>AYg2a4COiax3>T2R6v{dSWGfv4W?n}Slf~)czp5m_TuzdB) zKEqq-ZHdAJGf!7n5~BNrgoH466r@49-mju78K&8cA{mbRuVlR>`(X;B&y%RUHmS{B z-x;-pt{-2Xow>9dxKqUhcq%Gz{S=o;=QI*7g*qw39D5cTwb8HQV{z&FZ7|Xrldk4| z9^l^!5m)`_ccOfcbrqq_ik4Q9uwD_L5E|jv))WyD5fz0qt0DP;$?KheS=lq4vmMhT zF$1DUso4%|r&nNFXX#M=D}HUJ-5*R#ZaR3Z>Dx)mZ9~D`&ye&gCN6Hyns-24CUuU7 z+GmP;P>vhDT=u-XxMAm1q1!{UgZ@KJO%3?f*`!~Lv{&IQZkqSs`{yF^ig#ljZO~qt zzmlt4xb4Ca@i(Nzulo@@{<~M}{{LEFo$jeOUmY12GM5p|eh?;^KL69`mL!8Eo)Hqqwa%)=Ztpw5F-B4eA?J2jBsW@IV zRII|v07PmXIWw2s^u)N>K1|R#q1N6?)!oFp=u9yZiYWvXMSZdiC!;Doo4kD-h#{ zzSK2><2@+fZz%g-_RZ;8_g7VBDjecr(jsx9 zKyVow5Jg&)ZGL(Izrt9sj>Vdn++Lz4eE`!v~2nh;yRv|)B&M13=A7jtWff5TA-is(1ZSKKW@=e?iPqEmeY_< zhtWw{{5>PoXPl9OD|2XljrX~m>DapyCWMm+a zZ2kWIdut1X6AN?m!lEK!n(_I0ErCoLa`K2ilLR>?81D6*?{-t+pCBY60=f7dya4Zq zo7IN^sJA~Uu?jRFF>i@yx(yqjoFlX!LYx@hmHG9dR_Ma`yLa#Q4*x6n|B6WV`0vvzfQML!Bl}F46JH7m zm1~wY=u}Kv@?Dt8oNCs+MXe=-|*u8q2;dgq|@#ki2Y)nR0c525(AXDkHT8TPqngVm;5SS4_ zkzxQ({EGtIiWnP!AZb;x!(2v`LwQ+WI(#|i#0t$}$5<||G?N;bLSN&+$_G4DWJX5D zjiNi}shxV$wd0=y9+KwVOyJm+ca|%!KNe`oWF`O%UzUOt!I7#afQdB9_V4mC*pWa{3apE51*j5J1ux{mh*FQ_|b9W&}L=!6S4nu*jL%T6QPk4%Z=3G;b2 zwD3{I@ugwi6EAHm1QA`aO!D^L>y+SqivDdL-*jqT{8x0JEo1C(qzoT>-2VE7+(M$@ zN}C6s476W#t)L9s8Lg<0ZkR-_hmex*578HiLmN&nXJ^Dfv~6z>q0bk|=D^29MGi26 z!ybhhTZCw_k;V-ee{NA{(uWXSX}I|}M(N$=xZqKbJwD0#@lfD}^@5j%kNMSv z^ZPOudThxSbE5pfpltuc_I5Fo{M_7JAv6ywtasBX4ZsV4R^%NK3p^c#N2fVuzuK63F$1dwaTf1;^(WrVY{`XlD zHk*QY{|gG&Y=3!X#4U)xk$IM)a(JMfV%PiP3)G(8j4(!;FcHc#5!SMiMM(oVjEVZc zUM$5hX-OO`2zpkceD-*X924k%1O5GCe+AFgVqK^0x~G%kwRi{akDw1narfJCgt@uZ z#5kkv`EZ0oVTm#dv#;g&#xWBM?cKJl--U&rCar^Wxq37@>p^U&01bQ7uDfI*9#tLr z$#eeXrwWlMdLOVHyjj@fP#qU7dBpZ`LXgW9TmXV}baVvx!O02vSw?`AuZfJt#ogXV&6b*7pOL&$MnMbev423{e~D7X=x_A^wx6w&y3>}dU`+6 zlY}_S7xk!#72-bVtGhPP+NBE=_MaH>_5t$DOtBJTu!3tLc!sM9#%X~_H>a*v!}qCO z$seib*ge>GvlXh)97fuOQGyGToL2o3z+W8b_8_RthubE4td4 zFKgm-A$6-9gwb9iU%#5$X3GZTU&Ep{p?4F|fGsU~s1ZKJH8Bg0>Z9|IX>zV~B12Yh z{0cST1NHEBlAt7f%AHcOPaN$&+~idGIM5~RshSwvm(2F2YKa_ji+DuUVe=xtdU}u% zK2rk2&Zs;BUP4(i`AE*`-J6Q`UWxzaF7F9?i3Xkwg~Xh9VjuM-KFXqf523;gWdCfW zM1w_g_jZ!{DZYf0nDWTGrbXK8iLk*%P9r|1`T2Q&_)A|Mj5ZUbJEYF`cAraycO#{c zRDW@lqwVeO&CSoI%Ax}mvT!2JV{RkPst7C+r`CX-9V-~;`j?GZP9tht5DZT}glgG> zZWlZKk7Ww!+KrRN#bxexcXux?_^z)0-mk1OwxCFwhHs}@#-&|@KP?%OuB?oO(35QDf@otuo&l;p{NrM0u8|Q-o)hB#l`I2xix2wS0PkNm1k_yVg=_q z$zLMZ!PQl|gY-7VWOFd$Z>g$&?>0r=Ct&Iw=l6RY| z4tuIt$i~JNEJ3ezmnB>@0IR-lyy5Q`Tw@UymW+gIESlU+DE77Y7}$AWKh294GY@a#0;u(_gyE`3^C?~mNf-1{>=#YT7$qW9xu&Oo?w32ud|Jf4${BPf=aNyc zVJQPzxNl23wJq=j=IbFlLg#peXRMLP!!BSl(uzlNa}Vh28XF&128Ac~oQj(IX{3|O zf2G*b+uPgC4Slg0{(LFv722$^7^(T2FJ;QD2cPT{Ht|jk3P{kSUzykhjvk&~8ByU~ zVo~@{CZYa-I-cF!0fcyn&X|-wTDblwHuj|ov9#siW3Tply&gz52ysJ*{(%7inTv{w zNTk!UvkgI}tfQl&t*x!AyI#f56IUiu5Fz`!7x}XO%|b{)r2L6W7B9v(vX?lW0#Ax@ z%KeXskW7^SV#I!KT0D%a6w(c_k?iv~9PH^>azh)c&$)qrOt9GjsUl7ul;+WY}+jMF-2s;+(GvUl0UtM1Aj?W$* zetl^&vv=OxD~b6Vgz4E?&A2N{@^er}kJEqz8jqJJu`2o#_kpdddfVwCN{MS25pead zR@vRzH_h3m%4bLjHhS?byebjn%U#!tajtM@3MfOY9D9d(j7Y&TWM2B>jLAwQfUFk92NbksD zJ!VbEfO`pGPuDnV8GhwQe)t-+!tL=EN`2Lwee=6~$|2|qmvCR0G3v2wjEu-+J=;0% zR<26xKEo<5>5U6&G-vIW~B$ zT3TA*wHg>0fHw>H5HJ%M8m@vV#gYBrxJfI5y-_TpqjsGr3)zxwFdI~!$z6|HN-A|r zSS%JjZ&B~x$HR}j#M2Fb9qi)bIrh{+Qh&AM#ztMEuDn}Cnvz- zdSPONaR}?&kl_#Y8?>dx1#fT$18YF5OG?<^kA-)>fKfOwhi1ZTMa`c@R*_EtNyW$V zH!*`u=>f`|+o1v${!;g~2JRDL=^FAgq2PJH>@;MoD0r7gvH~+VA0K)M!ke59Q)o*5DNWq?4Z*hu8TTgXK-ZQ3*c-}*lMp|rm$W}MjF2N69Je{9TY1Y$FHLD%cM>r*iG&3wR~cEnkZX(;?JL< z*E!u`*q(0&is{yT1Onw<0CC_a*OF99j|!r)|2^rkNUxCs;4F&GmwRdi3^RFQ47Hs%h z8yg#IYiqxJ;TIJZ1$^<#moLG{{2M*6UY%Pr{+rw9-IVruX1Q1u|63p(^f6p5P>N(j ziL_HkqmAt8=2IhtWsw|zo_iU2gb(Z;%hAZ66qj+~AZ}$X%p{x?^iaDMN~BeJK6*B^ zNSznf=&whb@Mwj9&d>ZqHG$ukdv*Bd{!sKPQ8Yl2i~2=mAgXPHPIYl0UMiD+LO`mX zaaDBn0R5HK!xGR021t~K3WE^xGG2~UTI3k!Mnlcg6FJ6U8 z(9a9PiLnzJoQy8>0DbuK7h?G}pBTjug0OCzf%)E;V+w>r+2Jlnjw!X0k3$GIcXz;p z8n3>BxbXyyj`>S5)U>xN+Izc!(7O1E1Um$zDC{Zp8JSsGJ^jfphTJg&>zv>6B3>EW z(BkU*Z0-l>F1XjXpM8Jrki#b=x%oPw`w;^RvpM$7;#VDpIknE*4rxk}^mb{{a_0ay zsb(Fq)sLL3Yt%7VR%k0ljCyu68kJq|(Mjk~$i&?t^K$_F0Qh2!{QeUckbHE!EJ02e zoW#i{qz{YPK?pninhb zsC*HWrr8L(MXi!y`5VhMSnKM{^O?HTM0KE^ak6sE>>84=WW@26NACmS+J_2G5?kbs zGl{l@a~NQ3O4Re38d}@hY&TfR&((*?c_6@CUcRqn6Vj!U*mA1llVCZ}p>5F+Dr8 zbQ}y6vUAjU3hN)p-zh!l*FPvgWETh2@t7<%0vn!U0`cR2+&v&SUcY_~l#e%W-mI^$ zgBSzCcbY;Eo5=i%e@A?%sYq{=0Lt?p*8!u%8;v?>QyEeM^mHNF2X!Xze^|ZDL6e)J zQ;cx=J6lQbYb;e@Zogwgt1(D?f~kmMHmG}9?6AZNcpLOOR3E;KKAvuVJNFc&qM;ho zAYx`C5BswY>OwIhbn~$6l9H#hL(x-HZ)S)50r3~ST9`A5sMA(>O+*;$Wm}5=y%7Dt z%f;nvAINIsSwPo1I5+?z3V;{-1_oPBFD*-u>*{8#7mD*sew@p^ZG>7~TLt~hzfbrn zN_3nczZ^D;p_z^u&5n=s0WVK_A}fbFDB1Eueq@>(@8r|x;k%y5+agteSO*Zhq_Jrk zIQS%~Hlg(#a9XS>lLdR5$me(+fq%lS__)WrFKW!a7#XSZ8_IN_22NP>Hr(Yynx8lQ z6rCYuxJG%Lp+zS!NuTt*{dcVB1ay~T3MZA7B!OX<$A{VjE`oVEV|X{?)o#E>nt;}o zQ28sF<6^-E4kS0CQ(8CStgNhm_()4DH7hGEHI)v>eM0yfn7dB{;|L!HM}i1UmKqQm z)bB91=Hgq+_>xN5!9Hrlu?(_!tbAcN;vG}!mp%|GAOlU?X#nDy+`nZd5y#JYdcC%` zc6PS$>sMesPs;G7P6hhSg9Gl%0h2(CG=iuc84^|}X|t!NKc7jYMHxDSbfC%vs6*HfTQ^*v?Yv<)6Px>dtvX$Vp>v>FwqVT*szAwvDTCy? zAi}`c8ULr0qiUkoIErIr_~=%!sI((0%;Fwk~~k zI7d6|2)cPWBp$jd64274&U0NXA`D}LZVV;bCz{Sz)cm`{s3xUOuAnQt9Sap%3K7l~ z9IqBExyp(lrVZs|6sDR}-=!V2!JB_g!j&-;(j$4FZy!R24D|0)mGH>lIz9@9bz}kX z_DPjoOo`SRJ042-b*r?s(Q}QU9K3W=x?PS*D$8c(KEt@AR$)43FKUMQRYIM|p;Yh1 zjjK6OFD2&FY!Yh^D8ISqh8;GqX#iM80MvqNayPB zQ|s3#?}e%{;kb!!-y$V5CERB>CbY1WicVvhpnlMnPwv}TR#F)?$e*G_x0Q=z7PqKYpikBf@z>(})sENMtQK1PosuWi!D^Yg7U*2_yvK&7g4r{ZU-4_zy}yz|wn*DLH7?3!@q2iXXNd!6#czmVCS z;@xdgr^2FMp$SxRK=9U#%i#xygrITt_C_MOUUG7(mdyZNYr)wI{u!&V8RV$d|KxF= zDgX045m-Z`R~A9^iw#O-j`lM`PYzXlCV6aB6kk9870PZDKKw~q`43EQkW6^w!jcwD zOU2<0`oib}XkYRLKb{ryskAQJ@lg0(7x}#kCH81Hh~A8g=25s^ZwHbQNR(Ug2byi_Qho=nD38Q0O7!%Vygf2Xu-zG>BBz5OISQ7dIc<2@k#2BG&)Q`+{bDj zjEpF-k(Q~m#%|gHB{;3g2)jzBf=M1k8Mt7e4MIv%PhrtVy{J;>Qo)`_NXYXfxV#SK zp?>keD<2RUNDb6Fb7-^7MBHom*IT?~miVDc*Nx?O$qlC)T^$Qr?I9r?4bMM$7qVmn zde&EbgLptTw@lOGeQ2|Dud3IP8TOlWx<1a=-%OE1ZFmQ~mD7$z5Y7c4tp~|HNby0U z4?+cq90BFr#r7*2uS|cv^MD{(H|WI3=qF_r&SIfcA5&Z#qAJ4bv#0$^1^hVq2_fn5S-!}n}&4jzpaJ*&nviBP&1__KIB46o#DI*2m8z+y zjbzP}u7g&N=BCn$cV4X|9sPm+nqv|*IriCO2EO9myr-%InF5+&ulO>6@cN}PWQVZ1 zkPeR&chJW6&jCT*!rD)muL`Y#d`+Ama=-4|h#5+2RM*eWdU+%|Kv1k=8?N5BVL`cb@JlEdR zj=S#YHtK>(`g@DS4Lp-4bn#BG{&z|GA~!0eoS!v!WIZ*=4Uw^qE^JeKeJoo6*Hk=46I z!qyS$PZ$$0Ge`Meys+(Guc)X1K%}Pf4mE8w-eI4@;6HW~jG@?7$N&M>$}IJ5`IiW z65gNcW%1>T1fMpga~2?LYSk@(te2;B{MWC%_2N1y22NgHjS5X_SL`$ez1s6ZIbd1{ zysh_RuRTp=9JDcS5e_1lLgcy9a?Rh~-tO#_uwIaMky6kdDvTNTTLAIIy5ZZ#vuhNH zQ8`nzHY9<0nCr}X!6r`hH zD6-a5bQ)ZZ3IJrvX22k7(BVy@L70e-4s(Y6{P{sa#E`6CXp5H?4Z$5^HAa%L1jcQCem)q$ zKp_Rf0FVbfJ%K!q7M0L*_yXM4pz1|N^>U$eKO9dKl6t@o}3U@Xx?iCRqY=)XR7;nSr9D7$oN9LLsFs zPK}h86zXOZgwRI$TW~-kNeKL%~>{O&}wiEg7fd z{kT4C5)9ea#*8+ix$YW^A^Ua#Y!Dhqg(~3M{~Sa~uRiNk%v!rDMh||mRP?V$iu~B( z^5{H$syQC=9sR}UgG{gXM=fvIQ=f5b_g>?_na|<-oncD%B&VeyZg_; zFvzHx5#x-^x6l#uxGIrUUn!AaN-${4q_F~5v-==V_t=%+8}LGIV&S>O`TFrgD{yle2}lwVN`~v z1l@#MdN~QV_YffefC^?D0(4uyH zFh#bJNmbIT$4<#KV-Sq^3i&6Tbz^MCKyd(0q+2H6oZ&Q~C>k7dG_H*292|cR4}oV1 zG{adaF6;w>Yv)TGqf^_=$w}?%pU#dBH@%3VGv2I}dd|+yo35BZ!MAcy zlQRe}EDy8cgT*h{n32#Pq=jZ41^RT@ij}ab^u9)|JeAeAv;w%hEt4u&jde!$$%jaZc2*km?(y&;+ zXLS8e&7VwTo)Tlfq(Czg^v|5)eE-P^A&1{5*0rk3M+u@>vQkk@;-6@`-ne7X($P!| zK`+;EFdA;0n)TRIUVm1r(TbL00GRX28z8#g*{?v-|DUQa! z@UC;MOF7dSyij)i*7EL{$oyL+mUDH1U-#t1i7&%-B%6|wGAb%6K+NBuHyYxMQsK0< z7e+%NdBFLDNJgP9ZQ3*z9~BlQEF!XE*94Lt;3hytrs?%|s$19xwh~Z)@r?6|z6!)= z83qCt?i{Jq9!b+|!PUD%_xD0sDTcmRw)XD@-yha^g7!{)qP*X`iV_WRII{zL=^4aB<=Z?_nJ6yhQb$OgD zvP+mNHC-X?<2UNd$Cpy}Vp9~um~Wrc#bu{TqbJTG3E+4N(MYQ@$)DWZO(;Pv(uip( zDc=x(p0QR`a4}CL5BNi?5Pp!$^8-;g_oScD_A5_@JhB-t?Xs}FbOok%9rnX(aTQ#RdV$jsP* z-`y^h^Xqpr1$3*X_s)ZYP_z&iCnqN$w9Qz%Iy)y0{eAoPEs!0maauXK9?J{x^ZSR+ zx3{;;jO#p(2#uI4M23@ zp?ZIc(XE|(wce=+1`Y`To$hOp(uvmKlX`23vaNHuU1f3L<@i7;QAT>SU5nx42>sl& zY}bn`U#OgU{seRFQIh-mQ<%!5(V7ZP9EvSCr`VL_r7iq(Ru#rKgJp?L>zNTA?W$ z^mRFac31!Wy}1L|gB-cVWu$=1LjP1R_V&X z?|a7{z(fIu1~;LhIqptMPZ?ZKs(J@A;_$9q}OxD)_7qXP?Fad2wFlm)Y@&<6({V7Ug6)lwOqf zb`8S{+JBT0cpOSaANa3wgc0F+KV%88!+dDu@qdRCOKC`lnPNipEYMVADFo$ArR`f=y+i~D}} zd*#)VRQiZ^ChqrSvLhSu`{Hthq@~y8UWfX!FGM zC@T0aRX>NdZ$?46()g2^5u;@mMnbAUceRSR@}^lD2MAGF86ZRuV*Zs!k3a~_jRU>F z9r(dOcL4MyaA$#$RsCvmsz|x1u~E#&WpV@dt}qehI>xj(8Z_@8raL|2oNnZ^9+t>o z=U)GMNintxS6YGljSs)*{krJ=p?hb>BVo27Y}$Cgi}8DMS9EEp>am!Z4;>AOxXMQI zL}}20BojIvdrUH$;N;+!_{+pPaGdx=7tCv{th|P%9RZbuMC&>}y-AIQ zxXT|Qne)5-j}OOCch1XDxZ9!p7H}EIfX-L-aNfx`Td!D?O@u+Giwze&{z){g&rD%TT8Bz@y$Prb@c5Gb^O*=eOI^b(_q%zZoKJoKi*wNP{ zHhcemv2>lPc^P6@yI|A0?6$8eo@}szP@ig+#T}H0#f5>)(HV;z{>-CvJifZVo){Q5 zbMZMn*TiOMDo{v*3mL_vf_at`1okA0@h*-;4^j+RNEAb&kx^ZR6yJxV6OaeqSN)rd zS}1jn^vdFf8BanURz>z%n(FJnG&Gpy-$44^BunFxdP=3kXLHm_5S@vkGwoDY3)y$t zr9x33m_T^(**B#%y(1U9AV9YFyIJi0iP=CEH@A0Oe7A3qJ!>Vm^N7_CTJ)B71R_}{0_(T{>$z<7sT>egI{W~a;}O4mA`+ODiwPCOIf5I zSU{KV>a`~9iHxo=P2Ak?H+%Z^OD?G4eBQ7f)fagC(QoNyWK_4M=*%vwk-u8v%f%K7 zW-`;k{isA4MK2%j{i>DN+1tpYuTyas2Y4hIu6{qHZyPp&_shVD&$CG7@ zAT&)+P?Y6;u7c4|AjY~@>?~nB9xyd6DnL7tG1DBIL?hmg;fnVuFvqoL=h)+ZZ1qZT zqbLeA8KCgZ>zaZ7-q{Hi49NuE00V=b@1kH#S06$>3g6yZ@laH+yp)ldK7le8B59Qt zu5Ti>U5(loD&nGh6%EW8yjOJpOrzBm?aI6UImLkCZxN+ieHy8NSfYUFPNPFbmYL<6 zDrbc^!3;M{RDc(u?Br@KDoSO6)4;_g{t9Oy$}BA^{wyI82LLx!7h&E zaNtE}eVZ}e28^g4F`eF5n9LN#DXU-BTxWi1MRKIF2vl?=J%;oKw0bX3>YIKNc73$i1;}-c(nT z-U8>Uy_~o?_7|4O{)CUQnTC9Ao6qf!J$-b>Tjuu8C923=Ts@iMq((SkBl#H95%st` zlo8u&Q~G~0F$*{&U(1@TrQ{7p3UDNnU*p~xJ!EG;cwQ7z*kz{-LoP?F?xb0hob-ff zU#<*TuNBLm4;biKGO}ij0)U%g=9s%}{aEYyz_j?>1nW?AVsNcu>%@ATE2c|KcuyYJ z=PE==sjNU_xHxU;hAr=08^by#FE2fERrm!2 zKr;q4a10qpjG8+e8|UgK{vNgWJ>A_c&10DeoU(2}XaiPBS6~0J1mJ)xS-#!g3YCv+ z9DC$VvTP&mY=`c~-_EWM{d6nchJRxe!;5b8>00hHW2tVE zXz2m;f|YBdy=0^m!;Cda?C_>jjaG1iG#nj^6jCv_S1r2mZ{na#9B}a*;PC#5)2vtd zpRpMvMR64IW>;HV=>7bgr&l2FlgNd{0!E+4R^WZn^8rTB=?inUJI2wm(xBaPR?20# zS)^uDzLW%!;7Ovu?Cm>-0#^J_Q`a}-IC84Qn^pHSo!2q;-a$)Y{kE=d|Lb1a5{NQq z=0wit`_Nh+2eIRRWG6_&^XzdlOw_<`x^iJyjLgtUJ5Z-vy81yG7v#{c|}$#El{=()hcOzeX?Q-Iq;0{f1*Y8E@zo z8q2Es1Id%AOo-K6l$V`-9F65^ZVgwSmywT8rt2<=O6=H2<|<;kk42F0@Y;X~^`MA)ldv}n>69IRvR9CMn8{vIYSUBD>SZ_y!T!HrTtgi+jB zJlAlLyykGUs7z2?8c{8a_y{3bdAR>OC91E7J_P)rxP@sTu}M!)2e}Pc#@X0}8zQmR zythSySEB128g*UF+70Cn0jq9FCUmUAnT9sVJ`4UZZ4FDhzZ7uy{nvVEyor9k_^JJ=W4d5&HY-Ek=ciy79Vp zmkTcwOTUyy{X<#0*xn;Y|J5Ir>JFv(%)96HdH7@)X~r>hcN`Sqgcp5!dNe_Yt&Q)+ zcQ53H%akn~GBroO5I3e6cm*}SZ_=rBWezSB{()4Zz>}t`T>2xA21Xpn5@&vik7Tk~ zU?tE}7}A4HNEw|UHJm?@B>kNmMU568?I7n(zm^}xGT+@cu^6vUeP?Z+W`U)4KqEOm z{!D_v1goLL*Hlp{e}Uu=n(N;Ur50c6h}D}?=y=VOIXimdqSx`J)>l`<`S@f60e9dc zfH(TOMvD!w1QNL*i~4)h;F{2CiP+T=xaR6_E+|3Mem0-kvocAkLa9NcuKY2p7=s$` z`%sek`h=e#Gm&$MfkAWW2LF)HZ=P$k)Z=4PW2sSxZxyM zwrlMg{cAceqtOd7IN%7EX8&hn*Rmwmd>j%Y z&z&{`%>68p@E6YirE^_`g_D-*yUq0EQMq4BA1l5)Uki~~eA$vrYLdN;M^D5k!|TX% zDtkK58Hw8%XTE4z82f0K51H*s+?OSj0+v9de~T|mmeP%~KE1Eh0KmDtXc}aaCkG>he(nFGM_t z1*5?em^BuRZd`5&wvo`h)RENULShZyz5m^Py#DJu4onepUSk-(kaa)T##Rt^zponr zJD+OSE8Dhgcp{xdlZRjaec}n5kuAX}kI7^i#$6B+(*UqI*TvOG(UPTzaKg?B4#=uJ z_(d;FMa>z6r;mq*u-@bKk#$~5_oGF}y0unRm{&Exa3uH%9|6+pAL#XHqlw!{5Td!1 zU7SF^S9M<^n7Od34G59CGkjM-Dxf%vIOc9_Z<(@DbQ5bpUD4aF7k0N18_iRTc@F>L zdzIps*0Hoa)nf+nKCN$TZy#;hP0P%Tk;w-Q56H3om%>1sc3H(C&}@lkl20~+2P)hV zl-qr+26nE72DFS_*ypf&PcN@;1`5YDaXur~bFpBSk;ix0CBh9s4)CADStRokrao4E zah;bd9k$DCidOvkT-=*$+gJs?EPi?iv#RX`+vk9C0D}{EWYcx5X>3=;*A{5Y*r>=a zUc3Ot1W*UfyveF`GHv_^pFi)jYp{D^;(YuX9WEi6d{jBdY4!K1>M53IMME6D8a54> zbd_60iblfe>0w=OgwJkTzMNr=SP&bY)>@}s#3S)W=5;YD%Fg1)ulwXpTIQrf?CGvDkhQG)=%IIMNCyx;kPoBPAIy!k7r* zd11I$0m5O%YjI5S@QbkAcjx5P)D3?j6N}aN6`kiz(IKydRZwGhQEn0=^Tg(|!*Aip zsAR6C3e>r4EMmI{8b5PUJQ7ss6^cxk5}1jl$e5UtA4+iB%HV*QWBrZW&@j%_R_GVM?qF9zWw z4)R+`oj|t7eR}@k`Ab*Q8&St6kkreBhr7;)zt?20j-F#{=3qh9ml&6Cq&NC0W((Rr zD<{cK)k=YY_a>T^&tFb9D@D>t%2t|!rm~_WwwHetp@U+Q7~( z8JlETy}NE1F}>$Hixp5QM{eZvH!@FKOy`|)(G`Zk+S6wGYa^WpwJsGk-q%lrH`vI`lG~go$FlJ=kp$~*YmB!r&mav ze|>IK%pLPeSBuK6Q?7K@-#RHxD%*N(nGnGqa4+x6dB&EBu6LHW#ON)4rJc)cKpyvKu%KozBII>aVR$KR;f7q3w0Cn zMGe&Qqr-UE*m2%>W#K{uT5dVzs%Y|FxR{z>COz&}4r7Ypuw&V0_12rb@p4WmCsXC4 zB`)bgoPP68X8l)+F83FDm$_?73v2G`)QGc1+-btq<}B39y;KzUs;4VY^1LL7+idaA zk=r!P%b=pNmPS5+tG=IBg0NBA;BYtmn{vEp

nnj{3P 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 void: print("ShopStationButton buy ", station_name) _buy_station() + func _buy_station() -> void: GameManager.money -= cost var transform = Helper.get_snapped_transform(XRHelpers.get_xr_origin(self).get_node_or_null("PlayerBody")) var forward: Vector3 = -transform.basis.z.normalized() - # TODO: Don't move up. Fix scenes. - transform.origin += (forward * 0.6) + Vector3(0, 0.5, 0) + transform.origin += (forward * 0.6) var instance = NetworkManager.spawn_item(station_scene.resource_path, transform) Signals.station_bought.emit(instance) + func _process(_delta: float) -> void: button.disabled = GameManager.money < cost diff --git a/content/static_resturants/resturant.tscn b/content/static_resturants/resturant.tscn index a0fec43..d0ad701 100644 --- a/content/static_resturants/resturant.tscn +++ b/content/static_resturants/resturant.tscn @@ -1,10 +1,10 @@ [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://q37nqadkibbp" path="res://environment/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://da6yrsnxvsrif" path="res://environment/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"] diff --git a/documentation/Notes.md b/documentation/Notes.md index 851b2f2..fbfe3b6 100644 --- a/documentation/Notes.md +++ b/documentation/Notes.md @@ -59,3 +59,6 @@ Shared INventory + +## Modifiers +- Disposable plates. no washing. much less money \ No newline at end of file diff --git a/Scenes/door.tscn b/environment/door.tscn similarity index 100% rename from Scenes/door.tscn rename to environment/door.tscn diff --git a/Scenes/wall.tscn b/environment/wall.tscn similarity index 100% rename from Scenes/wall.tscn rename to environment/wall.tscn diff --git a/global/GameManager.gd b/global/GameManager.gd index 854128e..3f0d3ae 100644 --- a/global/GameManager.gd +++ b/global/GameManager.gd @@ -1,7 +1,7 @@ class_name GameManager extends Node -static var money: int = 100 +static var money: int = 1000 static var meals_in_play: Array[String] static var sides_in_play: Array[String] diff --git a/global/helper.gd b/global/helper.gd index 71a2271..267155c 100644 --- a/global/helper.gd +++ b/global/helper.gd @@ -22,6 +22,20 @@ static func find_first_child_of_type(node: Node, type: Variant) -> Node: return nested return null +# Returns true if decendant is a decendant node of root, false otherwise. Returns false if either node is null. +static func is_node_decendant_of(decendant: Node, root: Node) -> bool: + if not decendant or not root: + print("Helper.is_node_decendant_of: decendant or root is null") + return false + var current: Node = decendant + while current: + if current == root: + print("Helper.is_node_decendant_of: decendant %s is a descendant of root %s" % [decendant.name, root.name]) + return true + current = current.get_parent() + print("Helper.is_node_decendant_of: decendant %s is NOT a descendant of root %s" % [decendant.name, root.name]) + return false + # Returns a transform with position snapped to the 0.6 grid and rotation snapped to 90 degrees. static func get_snapped_transform(node: Node3D) -> Transform3D: diff --git a/recipes.yaml.uid b/recipes.yaml.uid new file mode 100644 index 0000000..26c7014 --- /dev/null +++ b/recipes.yaml.uid @@ -0,0 +1 @@ +uid://be8o8m6xpp3kc diff --git a/test/multiPlayerTest.tscn b/test/multiPlayerTest.tscn index ce0e892..7f0495b 100644 --- a/test/multiPlayerTest.tscn +++ b/test/multiPlayerTest.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://bodj8op527o2c"] -[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://scenes/multiplayer_world.gd" id="1_6uucx"] +[ext_resource type="Script" uid="uid://d1cefhe3yyyds" path="res://Net/multiplayer_world.gd" id="1_6uucx"] [ext_resource type="PackedScene" uid="uid://j5s5wus7tuhb" path="res://prefabs/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"] @@ -34,7 +34,6 @@ size = Vector3(15, 20, 0.1) [node name="Main" type="Node3D" unique_id=1312265607] script = ExtResource("1_6uucx") -populate_from_layout = true [node name="XROrigin3D" parent="." unique_id=2055526621 groups=["local_xr_origin"] instance=ExtResource("2_j7vd1")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.36171648, 0, 0.81835127) @@ -85,10 +84,10 @@ transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.50 shape = SubResource("BoxShape3D_arao0") [node name="Hob" parent="." unique_id=1687971542 instance=ExtResource("5_t1fa7")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.014911681, 0) [node name="Sink" parent="." unique_id=2055277359 instance=ExtResource("6_6jhmh")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.5, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.014911681, 0) [node name="Plate" parent="." unique_id=190487773 instance=ExtResource("7_bowes")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4050963, 1.1702834, 0.049627244) @@ -106,7 +105,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.28692234, 1.0149999, 1.1) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.40037438, 1.0094403, 1.1) [node name="Counter" parent="." unique_id=1487893288 instance=ExtResource("12_j5uvh")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.5, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.014911681, 0) [node name="Counter2" parent="." unique_id=860178119 instance=ExtResource("12_j5uvh")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.014911681, 0) diff --git a/Scenes/testworldLoad.gd b/test/testworldLoad.gd similarity index 100% rename from Scenes/testworldLoad.gd rename to test/testworldLoad.gd diff --git a/Scenes/testworldLoad.gd.uid b/test/testworldLoad.gd.uid similarity index 100% rename from Scenes/testworldLoad.gd.uid rename to test/testworldLoad.gd.uid