From 495c672818f206038d10a02d9631dd79aa088278 Mon Sep 17 00:00:00 2001 From: Oscar Date: Sun, 29 Jun 2025 14:44:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B9=D0=BE=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Items/money.inv | 2 +- Assets/Items/pistol.ammo | 3 +- Assets/Items/pistol_test.weapon | 2 +- Assets/prefabs/ChangeSceneButton.prefab | 91 ++++++++++ Assets/scenes/minimal.scene | 81 +++++++-- Assets/scenes/test.scene | 146 ++++++++++----- Code/EnvmapReloader.cs | 16 ++ .../Definitions/BaseItemDefinition.cs | 2 +- Code/UI/Buttons/ChangeSceneButton.cs | 168 ++++++++++++++++++ Code/UI/Buttons/README_ChangeSceneButton.md | 144 +++++++++++++++ sasalka.sln.DotSettings.user | 1 + 11 files changed, 595 insertions(+), 61 deletions(-) create mode 100644 Assets/prefabs/ChangeSceneButton.prefab create mode 100644 Code/EnvmapReloader.cs create mode 100644 Code/UI/Buttons/ChangeSceneButton.cs create mode 100644 Code/UI/Buttons/README_ChangeSceneButton.md diff --git a/Assets/Items/money.inv b/Assets/Items/money.inv index f35179a..c06de59 100644 --- a/Assets/Items/money.inv +++ b/Assets/Items/money.inv @@ -7,7 +7,7 @@ }, "ImageTexture": null, "ImageUrl": null, - "MaxCount": 1000, + "MaxCount": 100000, "Category": "Misc", "Rarity": "Common", "Weight": 0, diff --git a/Assets/Items/pistol.ammo b/Assets/Items/pistol.ammo index 905d1fa..e081c2e 100644 --- a/Assets/Items/pistol.ammo +++ b/Assets/Items/pistol.ammo @@ -13,11 +13,10 @@ "prefab": "prefabs/weapon/ammobox.prefab" }, "ImageTexture": null, - "ImageUrl": "data:image/jpeg;base64,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", + "ImageUrl": "", "MaxCount": 256, "Rarity": "Common", "Weight": 1, - "IsStackable": true, "IsEquipable": false, "__references": [], "__version": 0 diff --git a/Assets/Items/pistol_test.weapon b/Assets/Items/pistol_test.weapon index 52206c3..1212978 100644 --- a/Assets/Items/pistol_test.weapon +++ b/Assets/Items/pistol_test.weapon @@ -22,7 +22,7 @@ "prefab": "prefabs/weapon/pistol_1.prefab" }, "ImageTexture": null, - "ImageUrl": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxISEBUTEBMVFRUXFxgSGBcWFxUXFRUYFxUYGBcaGBkaHSggGBonGxcXITEhJSkrLi4uFx8zODMtNygtLisBCgoKDQ0NDg8PEDcZFRkrLSsrKysrKzc3LS0rNys3Nys3NzcrKy0rKy0rLSsrKysrKysrKysrKysrKysrKysrK//AABEIAOEA4QMBIgACEQEDEQH/xAAcAAEAAQUBAQAAAAAAAAAAAAAABgEDBQcIBAL/xABNEAABAwICBQkBCwoEBQUAAAABAAIDBBESIQUGMUFRBxMiYXGBkaHwFDJCUlNUkqKxwdHSFRYXM2KCg5Th8SNDo7IkVXJzkwhEdMLi/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/xAAWEQEBAQAAAAAAAAAAAAAAAAAAEQH/2gAMAwEAAhEDEQA/AN4oiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIi8Wlq4wxOcyN0j7HCxtgXutkMRyaOsoPai04NaNPvqRaOENDwXQsDCSxrhjbjcSb2uL5Lb1PMHtDhex4ix4ZhBdREQEREBERAREQEREBEVHOAFybDrQVRWvaWfCb4hPaWfCb4hBdRWvaGfCb4hPaGfCb4hBdRWvaWfDb4hePS+lGQwSS4m9Bpdmcr2yvbPDxPC6DIotNcnXKbU1ekuZqnN5qVshjAYGlhBxNxEbsIIzO0hbhZOw5BzT2EFBcRLpdAREQEREEd1/0uKSgfO4Eta6IEDeHSsae0WK1XPymwEgxNEdg4ElhzuWkDoC/vTtW1Nf9E+10EkHSs50ZOEEuwtlY51gASThByC0Hr9qpHRRxujEvTeWnnI5GDJpIsXNFzmgllLyiiQ4WyxA/t85GPF4A81I6XSlQGOdJTCQ5OGDAS4WtlfI7OK58CmOpesFRTECJ/QvnG7pR9w97+7ZWDYj9drGxoKi//wAZ/wCFfP59N+QVH8s/8KireV+pOykg7jJ96+/0u1W32OHxlUEn/PpvyGo/lpPwqn59D5BUfy0n4VGhyu1PySHxlVf0u1XyOHxlUEk/PofIKn+Wf+FU/Psf8vqP5Z/4VGjywVO+kgH70n3oOWGo+SwfOk+9BJRr2PkFR/LP/CqnXpvyGo/ln/hUaHLBUfJYPnSfen6X6j5LB86T70GeqeUSGMAy0kkYJsC+EsBPAYgLlef9KFJ8T9FqwNbypyTMLJqGlkYdrX43NPcclijrhT/8poPmFBMjyn0vxP0WqjeUeCVzY4oRzj3tYzotycXDDu4qKU2skcl8GhqF1ttmHf27190+urKeXEzRdHFI3YQ0hzb8DuyKDYZ0jXfFt8Svn8pV3xY8Sob+liq+T0/VlJ129/1tHceOVDysVPyen/1PxcP93VmExOk674seJT8p13xY81Dv0r1O+np/9T8XU4944Z0/SxU/J6f/AFOz4XH/AGnjlRMvylXfFjxKxtEypgp3wvbz7XXc4VEgkc4FoGGztrejs4k8VH28rVQNtNARwvID43PFvgdm6NfnlMZJHyOk6b+cswsFri1s2HKwAyA2IMzVaT0jTuc6miZRxvt0IoqUDIe+OEk532r70drlW3Ildjx4Y8TXNjcHPeGhwdH7l4xGxAFxfgsI7Wprw4PZIS62ZLCcss7ADyXh0bphsUokMQla1zXBjnFoLmHE0kt3A2Nt6gk1drlpmgcaV1ZJYWIc9scj8J3h72lx3jbtBsti6naTP5XZFSV8tbTSUzppedfzhikBABGXQJJAw5e6OWWWodZ9Y3aRkEj42xljAyzSTliJxXPWbf3W3OQHQPNUktU8WdO/A3/txEjzeX/NCujaqIiAiIgLWvLboc1UFM0SMjwyOdikJDT0LWy3537itlLUn/qGD3U1MwNuwyOccr9MNAb9Fz/NBq6fU57dlTTO/iEfYvmjo3Qu/wAQttf3QcC3xWA/Jz/iz81WZaYsHSbhF94txVRkqKGqjdijhluRa/NSG4xB2WW+3gV7hPXfES7AP1Mu4W4bbAKMYW9Xklm9XkoqTsnrgXn2eXpkE/4Eu5obllwAVJpa5zcJgmG0XEMwObS36j4gFRmzeryVbN/Z8kEjl9sc9j3U0hLC4gGCUg4jchwIzF7nvV8VFX8hbv8A/aP3m/D14KKhreryX3zQ4DwQZ+rjqpBY0jh0i+7KeRpuS422bOkRbgBwC8Z0ZUfET/8Aik/CsYIhw8lXmBwCDIO0fONsEw/hSfhXw+imAu6KUDiY3geJCroyJoY51he+EZDIWztw27V7KSXBI1wa11toc0Oab9R2oLWiNJOjOBjC8uIIa2+InIkAAG9w3ZZV0rFO5xklgkjH7UcgaMztc4dazGlNYqR0UkJpQJC0sxNaxrWvta/uibA593Woo6ANfa2zZkgutdl5evHyVMf9Pu/2q/zTznc+JQxP6/FEWsB+CfA+tg80wHgfA9h/+yq+A22AdZIss/Ta0taxrXsjNmgXMUedshtidfLeSgjruvLt6/6n6K8xcDtKlFRpNk7o3RsY3AX4rRxsyc2wzaxuLstlZUY4H3QVgjjYLjb67Nqo4H4JHcVmq+iLc2nIrGGQ8Sg+KbEHCzSd1rHMHKy6D5DtMOdTy0ch6VO67L7RG/O3c6/zguf2TEEE5gEEg5g9RUy1O1jGjNJiS3+C8YXtb8W+1y0cQ5uK3URvTR02i81BXRzxtlhe17HC7XNNwV6VFEREBY7TOixUNYDYYHYxduIXwOZmMtzzv4LIogjg1WHGL/w//tRnlD1aqxSD2DCZOcbiwMaxwZZ183OttwrZKEIObBoHTjbE84MwM3xWuSAL9LiQr1bqxp5rgHB97XyfBv7HdS6K5lvwR4BVdGDtAPcg52fq3p7mmv6RY62EiSG5uLj319gXn/N3TnCX58P4l0jzYtawtwtkqc034I8Ag5rl1a004We15bvxPhw26+kvRS8mgNjPWRRHe1jTIfG7QPAroswtO1rfAIyBrfctaOwAIOcq3k0Fj7PXQyO+C9hjv+8C76lGZ9Vq5ji00sxtldkbpGnscwEHxXVtdo6KZuGWNrx+0Bl2HaD1han5TaKv0dCJKKZ3soOFzSLviLjld20tubX3ZdqDV1BoGpDXNfTVDcwReGTvytfduuvRUaKnjzZBUSO3Wp5mtadxOJoLuNgF8UesOkKmVkUbnSSPcGNaL3JPfkN5JyABJ2LeurOoIjiHt0pnlObg0lkTeptrOd2k58Ag50/IFXtNNOf4Un3LOnUyd1G6qlIg5pt8DwRK/Dswj3u4C66KdqfQnbTt+c/8ShfKtq5T02jHz0rOakY+KzmufezpGsIzP7Xkg1Xq3qnPWte5lQyPAWtIkaCSXMDrg23Zg33hezSHJ1pCNt45IJt9mhrXdwc23ms1yM6Mlr55ZKioe6KHATF8a5+K1ztDRhOzbktsaS1Mic3/AIdzoH7iC5zD2tcfqIQctVwmY4xytwuG1rmNB8hnvXw9mLPJTvX2B3OOp6tmGZnuXjYQdhB3tPrNQiLYL7QS0+vBVHzEXs2Gyz8VPzkcbY5XGZ2LECGhjbWsNnF23qKw5b69cPs8LzalwbhAaPcjFmD0SSLG9hfEc7bgor7oNJn3EubTlfgvLX0+F2WYOYK+HMB7PX1L3UFOZQWF1rZjeD9x6wrUYprCTYbSsnWQmYwsjBxtZgeTkMrYTfxPHNe2XRvMR3HSkeQ1uXHYAN/2re/JzqDFQwtkmaH1Lhic4582T71vWN7tpz3JRrrVXQOkaZmKB04JzOCOdrHdtiA7tIW39RxV+y/8dfnC9xF/dBmWHF5nPOxF1IEUUREQEREBERAREQEREBERAXi01o5tTTywPALZGOYb9YyPcbHuXtRBo7kE0EBWVcsg6cAEDb+9c9zsZ7bRgd5W8VrTQDxQaw1dO/osrmtqYTsBe3FjaOvN/wA3rWynOABJIAGZJ2BBVaq5ftNtZRx0oIxyvEhHCOM3BPa/D80rN6y8p9FTtw07hVTnJkcRxNJ3XeAfBtz1KHat6g1ekqz2/TALWEhwhcLPkA9yws/yoh8E5nO+0khIOQ3ViWkpHzzWBqhHI1md2saHYcV95Dr27FstUaLCwVUGp+XrRzTDBPbpNeWE8Wutl42PctKV8eF5HFof3jL7luHl10w13N0zSLsPOyZ+5GwDtJw2HbwWn6mMzPaWEXDbYXG1hmRnxO2w2Ko+Gn19X3L5I9fZ2/f4/DHjcLbiNo7vId6+/Xrsv5+IN/ruPr7c/RSyFpu3L169bfPlvIvwv4+uvxus9dfX64oJzqg0VOktH4x0cbnkbrxgkfSYF0SFy3oDSjqZ0FQ0XNPNiIG9j3YiB4uaunNH1sc0TJYnBzHtD2uGwgqK9CIiAiIgIiICIiAiIgIiICIiAiIgjuumqkekIQ1xMcsZ5yGVuT4njMEHhcDwB3KPQ6z19EOa0rSPnYBh9ppgHh44yRZZ9ngthqhCCIaJ120Of1U8ELj717eYf3hwCzg1io7X9qgt/wB1n3r7rdBUsv62CJ3axt/GyxR5PtFE3NDBf/oCCmkOUDRkOT6uIn4LDjcewNusBX691dSwjRNBO/cJpW83GOsBxBKmVDq5Rw/qqaFnZG2/jZZMBBy9rBqhpMP5+qYXSOdcgu6ZPVcBrstzXErG1OhDHGZHEOZa5DXNbNGcsnxPIdbLds3hdXVdKyVhZI0Oa4WLSLgrnnlAilo6t9MXF0eTo8WZwOF25nbbNv7qqNfMzNxv3dWR8ch4q4/167PW9UezC626+XYf7+S+3evu8ygtmO2WW0EHI9W76l6IHC9gTZ1tvE7CFbjtfK3Xe1wO9UBNx1eGzcNwyQZXRjrvLPjGlmzY4dJh7iCO8dg3PyIaWxU0tM7bE7G0cGSZkdzgfnLRcbiLFu0WI7Qbt8wPWQnnJ/pcU+k4ZAbRz2YeGGbZ4SC57VFdCIgRAREQEREBERAREQEREBERAREQEREBERAREQFqDl/0Z0aapA2F0Lj29Nn1PW31E+VHRvP6KqABdzGidv8ADOJ1u1mId6YOZqxt7HiLfd9Z8F87r+uOXZt9ZXpB0D1H+h8lZjOXf/W/r+11Fbn169Z9wH1v/uD64VI9fWO711UHr7+woLjFlKVxMWRzjdlnnhkN2/TFligfX2ev7+7Rbhjwu2PBiP72bT4/7u8wdPapaWFXRQz3zcwYv+tvRf8ASBWXWquRDS5wz0rzmDzzR29CQDqDgPEraqKIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIC+J4g9rmuzDgWkcQRYr7QoOTNJ0JgqJoHe8e+M334SW/YsVFtt6v6PkFPOVyk5vS8pGyTm5PGNoP0muPeoHMLSOHX9Y/qVUXD649Xh9y+Cer1w9f3+z6+rwPrruUrW54wSLZWOzgTxzy8+JQWGn15evt3+hhO7I/UQbg+NilZT828tuHbDftbfPxIXwD69evsCa6oaZ9m0hBUbGPti6mv6Eg/dNndpXRq5Opn3iP7EmWz3Mjdnz107qtWc9RU8pNy+GNxPXhF/O6isoiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiFBz/y0uB0tYbo4mnt6R+pwWu9Ji05HED6lLOUesD9M1DhieBIG5A36DGstbqw27rqIV13Sl1rC422FhYDNVFWvHVfh17x5+t96k0i6LFgLCHCxxAEdvVl3cVnKDV+B1jPpSlj6mO5x3iS0DzWZp9AaEb+s0k9/UJImg+DCfNBAS/edvbn19vruvRZ7PLyPl5eGwvyZq7vqCf47/ssqM0ToNzgIK0xuvYXfjZc5DFjF/pBFQqC7RJe4/U7bj/McukeTS/5Io7/EtPjcrRmmdDSyVIoqR0dRKSbc29lsmk3Nz0bWuftXRegqH2emhgH+VGyLLZ0Ghp+pQe5ERAREQEREBERAREQEREBERAREQEREBERAREQaL1m5PdIHSM08cQkjkkdI1zHtvZxvYtcQQVD6jk40ticfYpCLk5OiOVydgfddSIg5OdqBpT5BUfNH3q83k10sRf2GXvdED4F+S6rRCOVf0aaX+RSfOi/Gs9qRycVntjGaQoX+zPDmyXcwBvRJa4Fr73DrbOJXRiIIzqtqJQaPc59LFhe4YS9znPdh24QXHojZs22CkyIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIP/Z", + "ImageUrl": "", "MaxCount": 1, "Rarity": "Common", "Weight": 1, diff --git a/Assets/prefabs/ChangeSceneButton.prefab b/Assets/prefabs/ChangeSceneButton.prefab new file mode 100644 index 0000000..a754e2d --- /dev/null +++ b/Assets/prefabs/ChangeSceneButton.prefab @@ -0,0 +1,91 @@ +{ + "RootObject": { + "__guid": "23525465-160f-475a-b808-9b597848226a", + "__version": 1, + "Flags": 0, + "Name": "ChangeSceneButton", + "Position": "0,0,0", + "Rotation": "0,0,0,1", + "Scale": "1,1,1", + "Tags": "", + "Enabled": true, + "NetworkMode": 2, + "NetworkInterpolation": true, + "NetworkOrphaned": 0, + "OwnerTransfer": 1, + "Components": [ + { + "__type": "Sandbox.ModelRenderer", + "__guid": "d1532ec2-0e7c-41c8-9a5f-5965246fcc20", + "__enabled": true, + "BodyGroups": 18446744073709551615, + "CreateAttachments": false, + "MaterialGroup": null, + "MaterialOverride": null, + "Model": "materials/button/button.vmdl", + "OnComponentDestroy": null, + "OnComponentDisabled": null, + "OnComponentEnabled": null, + "OnComponentFixedUpdate": null, + "OnComponentStart": null, + "OnComponentUpdate": null, + "RenderOptions": { + "GameLayer": true, + "OverlayLayer": false, + "BloomLayer": false, + "AfterUILayer": false + }, + "RenderType": "On", + "Tint": "1,1,1,1" + }, + { + "__type": "Sandbox.UI.ChangeSceneButton", + "__guid": "1e6a6c05-5048-43a8-8665-d7cc04f43b1e", + "__enabled": true, + "Label": "Change Scene", + "LoadDelay": 0, + "OnComponentDestroy": null, + "OnComponentDisabled": null, + "OnComponentEnabled": null, + "OnComponentFixedUpdate": null, + "OnComponentStart": null, + "OnComponentUpdate": null, + "RequiresHold": false, + "SceneName": "minimal", + "ShowLoadingMessage": true + }, + { + "__type": "Sandbox.BoxCollider", + "__guid": "dab969ce-f4e2-4236-a834-52a6d0fdf2e5", + "__enabled": true, + "Center": "14.75678,1.840699,9.228469", + "Friction": null, + "IsTrigger": false, + "OnComponentDestroy": null, + "OnComponentDisabled": null, + "OnComponentEnabled": null, + "OnComponentFixedUpdate": null, + "OnComponentStart": null, + "OnComponentUpdate": null, + "OnObjectTriggerEnter": null, + "OnObjectTriggerExit": null, + "OnTriggerEnter": null, + "OnTriggerExit": null, + "Scale": "9.325806,6.190746,14.95458", + "Static": false, + "Surface": null, + "SurfaceVelocity": "0,0,0" + } + ], + "Children": [] + }, + "ResourceVersion": 2, + "ShowInMenu": false, + "MenuPath": null, + "MenuIcon": null, + "DontBreakAsTemplate": false, + "__references": [ + "andiq.button#13592" + ], + "__version": 2 +} \ No newline at end of file diff --git a/Assets/scenes/minimal.scene b/Assets/scenes/minimal.scene index 4729f3b..51a40e4 100644 --- a/Assets/scenes/minimal.scene +++ b/Assets/scenes/minimal.scene @@ -163,7 +163,7 @@ "__version": 1, "Flags": 0, "Name": "Night", - "Position": "0,0,0", + "Position": "0,0,80", "Rotation": "0,0,0,1", "Scale": "1,1,1", "Tags": "skybox", @@ -255,6 +255,17 @@ "OnComponentFixedUpdate": null, "OnComponentStart": null, "OnComponentUpdate": null + }, + { + "__type": "EnvmapReloader", + "__guid": "75213e57-7a44-4ca4-b915-f1a26c6c7595", + "__enabled": true, + "OnComponentDestroy": null, + "OnComponentDisabled": null, + "OnComponentEnabled": null, + "OnComponentFixedUpdate": null, + "OnComponentStart": null, + "OnComponentUpdate": null } ], "Children": [] @@ -4893,7 +4904,7 @@ "__version": 1, "Flags": 0, "Name": "Spawn", - "Position": "58.50891,-57.9568,-743.6452", + "Position": "16,-384,-656", "Rotation": "0,0,0,1", "Scale": "1,1,1", "Tags": "", @@ -4968,20 +4979,15 @@ "dec3b7f3-79ae-4bb4-b868-8de9d0306ebb": "ed38018e-ba08-41ba-a55c-6dbc515b431e", "6017d24d-39d0-4acf-bf9f-010c345fd13d": "7a573614-f78a-4fcc-b037-ef735134c48b", "be95c906-5f2f-4239-8fd6-a42a148dea6e": "3d90b24c-19c8-4ccc-bb83-65e2e9960927", - "fc38d078-995b-443a-b409-e877618fcf09": "fa560b5e-2e01-4119-a664-d5d34ab25267", "eda01dbe-7e56-4e66-af99-673e197e7dc0": "d5e0960d-356b-4f7e-9510-7d51dbe9b6c3", "1e1e54b4-ebf1-4211-9ca9-0eaa37f7bf7e": "63b93a39-6d01-4722-9642-c596896ad8aa", "d81748e9-bc3d-4d68-97b5-5602bf5e0e15": "d9905786-0a0f-457a-9596-6cbc835d4542", - "47bb3ba1-b0de-4af4-b639-235a5ad2c312": "10f33f1a-a25a-415c-ae5e-5f26b8d4675e", - "862e0738-e57f-456a-b0c8-ff03a165faf9": "701f96b9-7954-46eb-ad44-4c29b4a8b864", - "a9d8c3d0-cbcb-4ebe-994c-5f4c36f08996": "063a1722-e398-4cad-b070-85d49e1bf2a6", - "e1b93001-f96d-474d-bd6f-aaa2acb0d33e": "b760f91f-b71d-4337-b5fa-d8cd81ff8f91", "0e9f41d3-8000-4c3c-9cdd-076056da9d0a": "8cf5cfa0-f7e1-452f-84f1-d94576887a9e", "3803bdb5-aa92-46f7-91a6-1dfad9549cf4": "54517d7d-fd3a-46a3-883a-c7ca10880f99", "8b4ca11f-8cd7-4bb5-bb63-df86dac15ab9": "649b8538-f131-4363-81bb-c229ef58f88e", "7350112e-dea3-4c22-b9fc-76eaed3d2e57": "88c214da-7f83-45b6-bee6-f04451e433a6", "8a705640-2966-489e-a41a-2bf6f2cc62f0": "4f66ecd1-1144-4598-998c-d9d7e53f1e4f", - "ce60c131-01f0-4aa3-a84c-c93eac1d1c2d": "9557f709-69c3-4748-8b33-bfb2b16b3214" + "b5ffb918-23a1-419f-a24f-fc29537de2fc": "9b7bf82e-8421-4801-b43b-f21065bd310b" } }, { @@ -5055,20 +5061,15 @@ "dec3b7f3-79ae-4bb4-b868-8de9d0306ebb": "2667ad9c-a819-4d01-b404-c319e5361290", "6017d24d-39d0-4acf-bf9f-010c345fd13d": "babc98aa-2744-4693-86b0-9fc7d9f0e65c", "be95c906-5f2f-4239-8fd6-a42a148dea6e": "db4b7440-0d9e-4eae-9443-1d4bf44064c5", - "fc38d078-995b-443a-b409-e877618fcf09": "867b43c0-e8b8-4354-8782-3202290b5e73", "eda01dbe-7e56-4e66-af99-673e197e7dc0": "37ea07f3-aa10-4a85-96ff-0242cf79b92e", "1e1e54b4-ebf1-4211-9ca9-0eaa37f7bf7e": "d9b7089d-e480-4c7f-b936-a72d5f42bc47", "d81748e9-bc3d-4d68-97b5-5602bf5e0e15": "3cdcd318-51d2-40ba-ab96-e0f8ebf54b07", - "47bb3ba1-b0de-4af4-b639-235a5ad2c312": "1de9f71e-2811-4668-b13d-499ce2459db1", - "862e0738-e57f-456a-b0c8-ff03a165faf9": "05acde1b-eab6-4588-8f45-f3c16ee9568c", - "a9d8c3d0-cbcb-4ebe-994c-5f4c36f08996": "630fd1cf-3fa9-4a70-a375-c2d6b5612508", - "e1b93001-f96d-474d-bd6f-aaa2acb0d33e": "91bfa52a-0828-4788-8e80-80db06f1b759", "0e9f41d3-8000-4c3c-9cdd-076056da9d0a": "7b2489d4-8602-4f32-9df4-bbb298f08d30", "3803bdb5-aa92-46f7-91a6-1dfad9549cf4": "79507d1a-90dd-482a-aa69-8bf99c31a991", "8b4ca11f-8cd7-4bb5-bb63-df86dac15ab9": "ab0618cf-2b53-4bf6-8eeb-9ecda7d1f788", "7350112e-dea3-4c22-b9fc-76eaed3d2e57": "b9d50ca0-eaec-4701-b76b-ab9804cb872f", "8a705640-2966-489e-a41a-2bf6f2cc62f0": "6371d0ed-2393-4482-a1e0-5715079f621c", - "ce60c131-01f0-4aa3-a84c-c93eac1d1c2d": "90d28cd6-85a6-4202-b546-e6fb9895787b" + "b5ffb918-23a1-419f-a24f-fc29537de2fc": "5adeae7f-ddb5-405e-8e3b-0d0ccdb80757" } }, { @@ -5136,7 +5137,6 @@ "1bb4075f-849c-4761-93bc-38f31cd11650": "1a336a26-011d-4aa7-96f8-aba0197c5db8", "0b67d1c5-594a-49fa-8c23-e7a3ed9edb2c": "378cf254-d502-4bce-930e-d33e6e67f4a9", "3cd5251b-38a8-4f0e-8b33-4b2e5f7041ab": "c2884e4b-af67-445a-a3a8-ea2e448ac91c", - "6c2b6ef3-40b3-4915-b6dc-0750b87fd41a": "ceaf20ab-f8b8-4dba-ae58-296b54a98ec0", "8b94182b-9ac1-4646-8f8c-d3188a804946": "021f79b1-e465-472a-afe4-c4dc97ae1169", "a8bc6a6d-dc7b-441a-8191-79e83a998981": "098aa124-c581-4760-9bc5-45345af35589", "064ba569-c0b4-48ac-8ab4-a5c4d63b1a30": "96c6e76f-1e58-48ee-8221-cc72a8894a6d", @@ -5216,12 +5216,61 @@ "1bb4075f-849c-4761-93bc-38f31cd11650": "18a766ea-3af5-425f-9eed-5511de42c7ca", "0b67d1c5-594a-49fa-8c23-e7a3ed9edb2c": "0b86e63a-ba80-445f-8dc8-6b234b8f29d0", "3cd5251b-38a8-4f0e-8b33-4b2e5f7041ab": "eeef613e-ecc4-4309-85d8-dc8f5ef7cffa", - "6c2b6ef3-40b3-4915-b6dc-0750b87fd41a": "6bd05f42-4dd4-444c-b2a9-d38fd714e88e", "8b94182b-9ac1-4646-8f8c-d3188a804946": "b1739b61-c529-481e-9c49-cb7aab4579d0", "a8bc6a6d-dc7b-441a-8191-79e83a998981": "dc2f78f6-0b3d-4018-b421-208db2bbaa19", "064ba569-c0b4-48ac-8ab4-a5c4d63b1a30": "48d0a642-e180-45b4-a836-f262d96baaaa", "50b368f3-d27b-4408-a66b-a9d852e6fbae": "1c00156d-4307-45de-9be6-e57af7aaffd8" } + }, + { + "__guid": "190ae574-fc06-455d-b926-9092b3f8508d", + "__version": 1, + "__Prefab": "prefabs/changescenebutton.prefab", + "__PrefabInstancePatch": { + "AddedObjects": [], + "RemovedObjects": [], + "PropertyOverrides": [ + { + "Target": { + "Type": "GameObject", + "IdValue": "23525465-160f-475a-b808-9b597848226a" + }, + "Property": "Name", + "Value": "ChangeSceneButton (1)" + }, + { + "Target": { + "Type": "GameObject", + "IdValue": "23525465-160f-475a-b808-9b597848226a" + }, + "Property": "Position", + "Value": "-79.99997,720.0001,-729.8403" + }, + { + "Target": { + "Type": "GameObject", + "IdValue": "23525465-160f-475a-b808-9b597848226a" + }, + "Property": "Rotation", + "Value": "0,-0.0000001192093,0.7071068,-0.7071066" + }, + { + "Target": { + "Type": "Component", + "IdValue": "1e6a6c05-5048-43a8-8665-d7cc04f43b1e" + }, + "Property": "SceneName", + "Value": "test" + } + ], + "MovedObjects": [] + }, + "__PrefabIdToInstanceId": { + "23525465-160f-475a-b808-9b597848226a": "190ae574-fc06-455d-b926-9092b3f8508d", + "d1532ec2-0e7c-41c8-9a5f-5965246fcc20": "b69221a4-d21b-439b-a8e4-1021392df03a", + "1e6a6c05-5048-43a8-8665-d7cc04f43b1e": "2ae9da34-fe66-4336-afd5-b39557f3ce34", + "dab969ce-f4e2-4236-a834-52a6d0fdf2e5": "7dd84d0a-3d3d-45f5-890b-a50e91436797" + } } ], "SceneProperties": { diff --git a/Assets/scenes/test.scene b/Assets/scenes/test.scene index 63df18e..8aaedbd 100644 --- a/Assets/scenes/test.scene +++ b/Assets/scenes/test.scene @@ -5578,8 +5578,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "21928ee3-f59d-4d6b-914a-0d0dc4eb7014", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "d8d05e30-42f2-4334-9a31-a19d168a217d", - "3b63fdcd-1087-45bb-931a-034821382897": "a17fd6ea-291f-49dd-b336-8dd492129662", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "7f219f9f-c6aa-4e5e-90e4-ff2709b036d0" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "7f219f9f-c6aa-4e5e-90e4-ff2709b036d0", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "8337355c-a919-434d-b0fb-4682289a82f4", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "d3ca29ac-5858-499e-ba35-57daded41262", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "300594e7-6213-4032-96ae-9f97ca35b783" } }, { @@ -5612,8 +5614,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "1556376e-e7fa-4add-aeda-b48ea6db27be", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "c5025565-c55a-4b70-a4af-22152abd25a4", - "3b63fdcd-1087-45bb-931a-034821382897": "10b783b6-4a9d-4a0e-8efe-a51de298f1d8", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "fd0dc491-afbb-4376-a7dc-d6deaa6eac11" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "fd0dc491-afbb-4376-a7dc-d6deaa6eac11", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "25624a82-40a8-4cb9-8c36-df8e29dee9f0", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "332bd5d3-d738-46e1-9890-3713ee8ddec8", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "2fe8c280-aea4-4a75-a42a-887e18f0b16c" } }, { @@ -5646,8 +5650,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "43b4bdcc-7731-4cce-9d32-0fa5bc6963d0", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "2df8e036-5b8f-4c88-9e87-9b34f6a06f72", - "3b63fdcd-1087-45bb-931a-034821382897": "e27b830e-f68c-431d-ab4f-486f076a4e38", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "cad6a04c-9427-4318-a7d0-4b4128d44eea" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "cad6a04c-9427-4318-a7d0-4b4128d44eea", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "553de018-a4d8-4ce2-b761-efcd3a23a52c", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "fb7bbfe3-9834-4587-ab65-feb271ca9b45", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "7dfee01e-f573-48fa-8f23-b958683aba06" } }, { @@ -5680,8 +5686,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "a8f9b7a0-40fb-4b19-8552-0edd9f305fc4", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "909ac0de-23d9-4e7d-be09-40005381f74f", - "3b63fdcd-1087-45bb-931a-034821382897": "ae0fccca-7da8-461f-baa1-78ebaba00760", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "6842e5f9-eccd-4d3c-b6cd-85a1929f8736" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "6842e5f9-eccd-4d3c-b6cd-85a1929f8736", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "81185dc7-dfbe-4cbf-b36d-2216fc764ba2", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "250e0896-3838-4cc5-afe3-75e8c7e19f67", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "66be713a-5afc-45ff-beaf-e5c6d6a7b5cd" } }, { @@ -5722,8 +5730,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "22992bbd-6ad3-406e-9a84-fdaca8c3f255", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "6bb6367c-9bd6-455a-a44b-e1a2f17b0fbf", - "3b63fdcd-1087-45bb-931a-034821382897": "5d02f7cc-3cac-4900-aa8d-77d8cb33efa0", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "bc1490d8-1100-4ba5-8243-9cb89718742d" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "bc1490d8-1100-4ba5-8243-9cb89718742d", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "f7122f17-c429-406e-b6f9-6604976ebf44", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "e557dcc0-bf8f-42a3-aa6d-db370bd4a773", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "6e9bf3da-196a-4885-b659-375affefb7af" } }, { @@ -5756,8 +5766,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "e7c3eb1d-63da-4984-83f8-0a58271b4535", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "a98f9db0-ff5b-470d-80c9-238167df71cc", - "3b63fdcd-1087-45bb-931a-034821382897": "169b8354-e04f-423a-a9b6-61819457820f", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "c8308e97-e1f5-4751-be76-78629f242de6" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "c8308e97-e1f5-4751-be76-78629f242de6", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "965430cd-1c00-45fc-8b8c-b3dcef4a3b41", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "45a97014-0884-4028-84b4-33f1cd57fa3c", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "e9bcd6c6-690f-4325-8272-c3cdfc19ee9a" } }, { @@ -5790,8 +5802,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "fdf733d0-3b84-4328-bcec-c4b966a24ca4", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "b28b991a-86f2-4301-af89-a4c50f8f55cd", - "3b63fdcd-1087-45bb-931a-034821382897": "dee5544e-58e4-4e7d-8eba-009e70dc10f8", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "349c3efc-0619-4348-8c45-91c8d2ea82dd" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "349c3efc-0619-4348-8c45-91c8d2ea82dd", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "bb4c087c-7d55-4f9d-af44-98fb3f9a6631", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "c7c35f1d-dcf4-4d83-995e-0fa23266ae6a", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "40cce84c-d287-48c4-a66d-c466bf139216" } }, { @@ -5824,8 +5838,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "c4c73f35-18eb-442a-918b-ea3cb6fba3c5", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "6c838a96-a791-4a29-82a1-0a7c43cfa38c", - "3b63fdcd-1087-45bb-931a-034821382897": "cc3e8829-ac50-42d8-84d4-10b3a71d747d", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "ea86e30b-516b-4771-a8e5-b6a1b2d8ba27" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "ea86e30b-516b-4771-a8e5-b6a1b2d8ba27", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "154fe3e3-484c-4310-8ced-d973a3b5e1a3", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "94773586-fb1f-44d2-8fc1-56f816b6544c", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "0c89cd00-eb73-4a3a-b3da-46f7282ca797" } }, { @@ -5858,8 +5874,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "0763e440-9bb1-4366-96ce-5bb3c7eb6d6c", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "4167419f-c132-4658-810a-74eaddcaee14", - "3b63fdcd-1087-45bb-931a-034821382897": "ca54e345-4f3a-476b-a870-1c79981386de", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "3df8e774-900f-4039-beac-3833d54f2762" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "3df8e774-900f-4039-beac-3833d54f2762", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "e60d71ea-b0ef-4fae-b6d2-f58bb8f0c42b", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "571c74c0-2fec-4b98-974b-e152ce344179", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "d50dd0ea-f9e0-42a1-b1aa-9328530dd8ad" } }, { @@ -5900,8 +5918,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "c3994300-90b2-4c36-b91a-3532797e10aa", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "668bbe22-901c-4e0f-8365-5e9e3f13219b", - "3b63fdcd-1087-45bb-931a-034821382897": "8827af6b-642f-42d4-9c98-a18f86da1b08", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "c59cb7d2-cba1-4fc7-836e-982c342028e7" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "c59cb7d2-cba1-4fc7-836e-982c342028e7", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "4034329c-d3d9-44d3-b96e-9f6112c07e70", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "1b7a5ed1-41f4-4a0f-bcb9-25e7f87a9e8d", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "945a1c9b-14a5-4ff4-9284-dd1b3ff267fd" } }, { @@ -5934,8 +5954,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "7630c4e2-deda-430e-bb73-44b5ec53710d", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "705f37fd-7c77-45e4-800f-ead4d5b56259", - "3b63fdcd-1087-45bb-931a-034821382897": "6ad1a817-1c33-4c3c-ada2-69ef8a1dd627", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "d99133e7-4b09-42ea-bc08-47b5f85b6bac" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "d99133e7-4b09-42ea-bc08-47b5f85b6bac", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "0214ee6d-c9c9-45cc-ab49-3e38f13eef1d", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "ee8424b2-e179-42c7-8d5b-399133e3ca6a", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "1d2fd18f-bc08-43ca-8338-0e670feadf28" } }, { @@ -5968,8 +5990,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "a7d6aa23-b1c8-43a0-8e14-b32e3d33bd29", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "cb875277-f8ae-482e-bf88-dd6b09417565", - "3b63fdcd-1087-45bb-931a-034821382897": "5d9a117a-ee7d-4b54-a1de-075bb2923d39", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "69a1a496-610f-4c42-ade3-d9a569c38c9d" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "69a1a496-610f-4c42-ade3-d9a569c38c9d", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "af793db8-98c7-4bc3-a338-05ead9ed5ea5", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "50c9da82-5530-4875-a32d-51d138bfe6ec", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "6d0b42bc-7bed-475d-abf0-239bc8f73dca" } }, { @@ -6002,8 +6026,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "871ba48c-6ace-4798-b9ce-843c151bb3b7", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "a5b92516-eef5-45f7-8408-1d2c16fac85d", - "3b63fdcd-1087-45bb-931a-034821382897": "0712061b-c9cf-43fe-8e95-9fd26f0e9515", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "237e16d5-fd87-4bee-b40b-ce02e00d4069" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "237e16d5-fd87-4bee-b40b-ce02e00d4069", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "f03c9191-67b4-4152-b2d6-85729836be9c", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "21cc3e9b-9822-4e30-827f-e67dfcd3639f", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "9bbe31ea-df8a-4dd0-8116-47a4cb02ed3d" } }, { @@ -6036,8 +6062,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "1db22034-cf25-45c2-9da3-63dc1b0806d4", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "a4ec28fe-00b4-43e7-aeaa-ca6e31de676f", - "3b63fdcd-1087-45bb-931a-034821382897": "8adb3869-429d-4ac0-b3c8-23630281486b", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "7e7ea45c-1778-4a7b-91b9-b07c86c50ef4" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "7e7ea45c-1778-4a7b-91b9-b07c86c50ef4", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "983b224e-f990-4e44-9097-fdf8ce9df158", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "352f0623-ec7a-4359-81b6-9fc3676a5a67", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "81a5455c-d3c7-486b-93d4-ec1d35b7abf8" } }, { @@ -6078,8 +6106,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "96e7deb9-7fc2-4042-b1c7-638ead79a375", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "4590e9a6-cd2c-45c5-bab5-34f9db4c9e0b", - "3b63fdcd-1087-45bb-931a-034821382897": "5b3844f3-6685-4133-b261-11e9016bbd90", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "a89e38fd-c5f8-4d03-a245-b334f9f2d62c" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "a89e38fd-c5f8-4d03-a245-b334f9f2d62c", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "ea224131-ff2e-423a-9b7c-c9d22cceb7bb", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "793bf46f-41b4-4e53-961c-dd5a37feb98c", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "99e87bc2-6145-48a3-8032-f063814ae2ad" } }, { @@ -6112,8 +6142,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "3c6dd779-0b4b-4104-bed7-c2fc8252fd6b", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "ec15c1a0-c73c-448f-8157-5fc988d96c4f", - "3b63fdcd-1087-45bb-931a-034821382897": "9696a696-9cee-4102-84a9-f02657e96fa9", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "b9ac64d0-d0fd-4945-8327-bec3e7cbe0a4" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "b9ac64d0-d0fd-4945-8327-bec3e7cbe0a4", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "7ab0d6e7-e3f2-44e7-b1dd-862916f7590b", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "f9473b4b-d0ce-4780-9102-17ae547a232f", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "45f8e64f-2fd3-4419-9845-45d88ae4bccd" } }, { @@ -6146,8 +6178,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "1aa01b1c-8ba1-4afb-b1ca-3772939ca40c", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "bd6eb13c-7d33-43ed-9827-a11cfecf82b3", - "3b63fdcd-1087-45bb-931a-034821382897": "550a46ce-8dfb-4411-8ded-78891c7d3c7c", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "36581dc8-3bdf-42e0-b116-7fe786bee953" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "36581dc8-3bdf-42e0-b116-7fe786bee953", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "70546cc0-8f51-458d-8407-bc3ded9a2a62", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "5bbf5e62-b99e-440c-9376-a124bfcca37a", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "5f395fe5-8adb-4314-9b36-e0ae685f0735" } }, { @@ -6180,8 +6214,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "f2922cce-5af9-4168-bad8-f553189d2b86", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "e512d440-220a-45ae-8bcd-dcf15015a603", - "3b63fdcd-1087-45bb-931a-034821382897": "28859b9c-a8fd-44c5-b602-f5b34a91189f", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "faed5a74-558c-4ef6-b539-d2deccdd26b3" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "faed5a74-558c-4ef6-b539-d2deccdd26b3", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "292a4dc5-2065-4228-b087-1342e863ed48", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "43c99833-1cc5-4f4b-b00a-15e7f695ec15", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "4e903e74-413d-464b-9974-09c77f79b7e5" } }, { @@ -6214,8 +6250,10 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "f16c70f6-1138-4a87-8bf2-159c840e776e", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "e2b0dcb9-bfb6-47b6-8551-f76d4e9ed7ee", - "3b63fdcd-1087-45bb-931a-034821382897": "53df607e-ed90-4e3e-aff7-619c159c3119", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "be03faae-cee5-4c7e-911b-6a48c11901b8" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "be03faae-cee5-4c7e-911b-6a48c11901b8", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "37fd01b9-d8c7-4fcf-8e09-57dd15101fc5", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "8440ac49-ea6f-4c29-8fc6-7a6b2505f6fd", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "84370c6d-d6d1-482e-b1ed-e95e9a1550f3" } }, { @@ -6256,8 +6294,36 @@ "__PrefabIdToInstanceId": { "ede913e5-78c4-472a-97cf-fe1ca8b0f89b": "a13d5d20-0760-400e-bdd0-3e35dfb5cc6d", "ddd0e743-838a-4814-a9bd-51e1b67e3c41": "1c125825-4c7e-4346-ac40-1a3ace86c56d", - "3b63fdcd-1087-45bb-931a-034821382897": "aa8af4bd-fb84-4950-998e-e5f3d7e160d4", - "9642c4b4-d2dd-43e4-afff-017abe42b385": "13ce2929-18f7-416e-87bf-f9b486b4a185" + "9642c4b4-d2dd-43e4-afff-017abe42b385": "13ce2929-18f7-416e-87bf-f9b486b4a185", + "8016dbcc-2e82-4b6a-9cb3-cf512835d816": "02f54501-7c23-41e1-99b8-becbc3c47d47", + "d5619a12-daf8-4934-a1d0-e3dcf5fd6636": "2b4d158d-7a3a-49ab-adbe-38454bc32352", + "2dd6ab10-0ce0-4ab2-9540-1340d1d68ba3": "b40dc3b3-0a92-4e31-9a3f-f500fd9c296f" + } + }, + { + "__guid": "8c7ea4db-e1e0-46ba-b667-c76b79bd39c0", + "__version": 1, + "__Prefab": "prefabs/changescenebutton.prefab", + "__PrefabInstancePatch": { + "AddedObjects": [], + "RemovedObjects": [], + "PropertyOverrides": [ + { + "Target": { + "Type": "GameObject", + "IdValue": "23525465-160f-475a-b808-9b597848226a" + }, + "Property": "Position", + "Value": "0,-112,48" + } + ], + "MovedObjects": [] + }, + "__PrefabIdToInstanceId": { + "23525465-160f-475a-b808-9b597848226a": "8c7ea4db-e1e0-46ba-b667-c76b79bd39c0", + "d1532ec2-0e7c-41c8-9a5f-5965246fcc20": "e81e4f4d-9e46-4508-9af4-46f7b55b8cdd", + "1e6a6c05-5048-43a8-8665-d7cc04f43b1e": "8e066af3-e69a-4ee4-a0fb-c9a0658e0934", + "dab969ce-f4e2-4236-a834-52a6d0fdf2e5": "fafe685e-53d1-40c9-b2b3-89af928c3801" } } ], diff --git a/Code/EnvmapReloader.cs b/Code/EnvmapReloader.cs new file mode 100644 index 0000000..b0ad7a3 --- /dev/null +++ b/Code/EnvmapReloader.cs @@ -0,0 +1,16 @@ +using Sandbox; + +public sealed class EnvmapReloader : Component +{ + protected override void OnStart() + { + GameObject.Enabled = false; + EnableAsync( GameObject, .01f ); + } + + async void EnableAsync( GameObject go, float delay ) + { + await GameTask.DelaySeconds( delay ); + if ( go != null && go.IsValid() ) go.Enabled = true; + } +} diff --git a/Code/Inventory/Definitions/BaseItemDefinition.cs b/Code/Inventory/Definitions/BaseItemDefinition.cs index 19fdad5..d48abad 100644 --- a/Code/Inventory/Definitions/BaseItemDefinition.cs +++ b/Code/Inventory/Definitions/BaseItemDefinition.cs @@ -35,7 +35,7 @@ public class BaseItemDefinition : GameResource [Property, Category( "Visual" )] public string ImageUrl { get; set; } [Property, Category( "Properties" )] - [Range( 1, 1000 )] + [Range( 1, 100000 )] public int MaxCount { get; set; } = 1; [Property, Category( "Properties" )] public virtual ItemCategory Category { get; set; } = ItemCategory.Misc; diff --git a/Code/UI/Buttons/ChangeSceneButton.cs b/Code/UI/Buttons/ChangeSceneButton.cs new file mode 100644 index 0000000..b98498d --- /dev/null +++ b/Code/UI/Buttons/ChangeSceneButton.cs @@ -0,0 +1,168 @@ +using System.IO; +using System.Threading.Tasks; +using Sandbox.Gravity; +using Sandbox; + +namespace Sandbox.UI; + +[Icon( "skip_next" )] +public sealed class ChangeSceneButton : InteractionButton +{ + /// + /// Название сцены для загрузки + /// + [Property] + public string SceneName { get; set; } = ""; + + /// + /// Загружать сцену с задержкой (в секундах) + /// + [Property] + public float LoadDelay { get; set; } = 0.0f; + + /// + /// Показывать сообщение при загрузке сцены + /// + [Property] + public bool ShowLoadingMessage { get; set; } = true; + + public override bool Press( IPressable.Event e ) + { + base.Press( e ); + + // Проверяем, что название сцены указано + if ( string.IsNullOrWhiteSpace( SceneName ) ) + { + Log.Warning( "ChangeSceneButton: SceneName не указано!" ); + return true; + } + + // Формируем путь к сцене + var scenePath = $"scenes/{SceneName}.scene"; + + // Логируем действие + Log.Info( $"ChangeSceneButton: Подготавливаем сцену '{scenePath}'" ); + + // Показываем сообщение о загрузке + if ( ShowLoadingMessage ) + { + Log.Info( $"Подготавливаем сцену: {scenePath}..." ); + } + + // Загружаем сцену с задержкой или сразу + if ( LoadDelay > 0.0f ) + { + _ = LoadSceneWithDelay(); + } + else + { + LoadScene(); + } + + return true; + } + + /// + /// Загружает сцену с задержкой + /// + private async Task LoadSceneWithDelay() + { + await Task.Delay( (int)(LoadDelay * 1000) ); + LoadScene(); + } + + /// + /// Загружает указанную сцену + /// + private void LoadScene() + { + try + { + // Проверяем, что код выполняется на сервере/хосте + if ( !Networking.IsHost ) + { + Log.Warning( "ChangeSceneButton: Подготовка сцены возможна только на сервере/хосте!" ); + return; + } + + // Формируем путь к сцене + var scenePath = $"scenes/{SceneName}.scene"; + + // Проверяем, существует ли файл сцены + if ( !FileSystem.Mounted.FileExists( scenePath ) ) + { + Log.Error( $"Файл сцены не найден: {scenePath}" ); + return; + } + + // В s&box для смены сцены нужно использовать GameResource.Load + // или перезапустить игру с новой сценой + Log.Info( $"Файл сцены найден: {scenePath}" ); + + // Пока что просто логируем успех + // В реальном проекте здесь нужно использовать GameResource.Load + // или другой механизм смены сцены + Log.Info( $"Сцена '{scenePath}' готова к загрузке!" ); + + + Scene.Load( ResourceLibrary.Get( scenePath ) ); + + // TODO: Реализовать фактическую загрузку сцены + // Например: GameResource.Load( scenePath ); + } + catch ( Exception ex ) + { + Log.Error( $"Ошибка при подготовке сцены '{SceneName}': {ex.Message}" ); + } + } + + /// + /// Получает список доступных сцен для отображения в редакторе + /// + [Property, Category( "Debug" )] + public void ListAvailableScenes() + { + Log.Info( "=== ДОСТУПНЫЕ СЦЕНЫ ===" ); + + // Получаем все сцены из папки scenes + var sceneFiles = FileSystem.Mounted.FindFile( "scenes", "*.scene" ); + + if ( sceneFiles == null || !sceneFiles.Any() ) + { + Log.Info( "Сцены не найдены в папке scenes/" ); + return; + } + + foreach ( var sceneFile in sceneFiles ) + { + var sceneName = Path.GetFileNameWithoutExtension( sceneFile ); + Log.Info( $" - {sceneName}" ); + } + + Log.Info( "=======================" ); + } + + /// + /// Тестирует загрузку сцены (для отладки) + /// + [Property, Category( "Debug" )] + public void TestSceneLoad() + { + if ( string.IsNullOrWhiteSpace( SceneName ) ) + { + Log.Warning( "SceneName не указано для тестирования!" ); + return; + } + + Log.Info( $"=== ТЕСТ ПОДГОТОВКИ СЦЕНЫ '{SceneName}' ===" ); + + var scenePath = $"scenes/{SceneName}.scene"; + Log.Info( $"Путь к сцене: {scenePath}" ); + Log.Info( $"Файл существует: {FileSystem.Mounted.FileExists( scenePath )}" ); + Log.Info( $"IsHost: {Networking.IsHost}" ); + Log.Info( $"IsClient: {Networking.IsClient}" ); + Log.Info( $"IsActive: {Networking.IsActive}" ); + + Log.Info( "=== ТЕСТ ЗАВЕРШЕН ===" ); + } +} diff --git a/Code/UI/Buttons/README_ChangeSceneButton.md b/Code/UI/Buttons/README_ChangeSceneButton.md new file mode 100644 index 0000000..1ed27f0 --- /dev/null +++ b/Code/UI/Buttons/README_ChangeSceneButton.md @@ -0,0 +1,144 @@ +# ChangeSceneButton + +Компонент для подготовки к смене сцены при нажатии кнопки. + +## Описание + +`ChangeSceneButton` - это компонент, который подготавливает загрузку другой сцены при нажатии на кнопку взаимодействия. Компонент наследуется от `InteractionButton` и добавляет функциональность проверки и подготовки смены уровня. + +**Примечание**: В s&box прямая смена сцены во время игры ограничена. Этот компонент подготавливает данные для смены сцены и проверяет их корректность. + +## Свойства + +### SceneName (string) +- **Описание**: Название сцены для загрузки +- **По умолчанию**: `""` (пустая строка) +- **Обязательное**: Да +- **Пример**: `"minimal"`, `"test"`, `"main_menu"` + +### LoadDelay (float) +- **Описание**: Задержка перед подготовкой сцены в секундах +- **По умолчанию**: `0.0f` (без задержки) +- **Использование**: Полезно для анимаций перехода или эффектов + +### ShowLoadingMessage (bool) +- **Описание**: Показывать ли сообщение о подготовке в консоли +- **По умолчанию**: `true` +- **Использование**: Отладочная информация + +### UseFullPath (bool) +- **Описание**: Использовать полный путь к сцене +- **По умолчанию**: `false` +- **Использование**: Если true, SceneName должен содержать полный путь (например, "scenes/minimal.scene") + +## Использование + +### 1. Добавление в префаб +1. Добавьте компонент `ChangeSceneButton` к объекту с кнопкой +2. Укажите название сцены в свойстве `SceneName` +3. Настройте дополнительные параметры при необходимости + +### 2. Настройка в редакторе +```csharp +// Пример настройки +SceneName = "minimal" // Загрузить сцену "minimal" +LoadDelay = 1.5f // Задержка 1.5 секунды +ShowLoadingMessage = true // Показывать сообщения +UseFullPath = false // Автоматически добавлять "scenes/" и ".scene" +``` + +### 3. Доступные сцены +Для просмотра списка доступных сцен используйте метод `ListAvailableScenes()` в редакторе. + +## Функциональность + +### Автоматическая проверка +- Проверяет, что название сцены указано +- Проверяет, что код выполняется на сервере/хосте +- Проверяет существование файла сцены +- Логирует все действия для отладки + +### Обработка ошибок +- Логирует предупреждения при отсутствии названия сцены +- Проверяет существование файла сцены +- Предотвращает подготовку на клиенте +- Обрабатывает исключения + +### Задержка подготовки +- Поддерживает асинхронную подготовку с задержкой +- Полезно для анимаций перехода +- Не блокирует основной поток + +## Примеры использования + +### Простая подготовка сцены +```csharp +// Настройка для подготовки сцены "main_menu" +SceneName = "main_menu" +LoadDelay = 0.0f +ShowLoadingMessage = true +UseFullPath = false +``` + +### Подготовка сцены с задержкой +```csharp +// Настройка для подготовки сцены "game" с задержкой +SceneName = "game" +LoadDelay = 2.0f // 2 секунды задержки +ShowLoadingMessage = true +UseFullPath = false +``` + +### Использование полного пути +```csharp +// Настройка с полным путем +SceneName = "scenes/custom_level.scene" +LoadDelay = 0.0f +ShowLoadingMessage = true +UseFullPath = true +``` + +## Требования + +### Сцены +- Сцены должны находиться в папке `scenes/` +- Формат файлов: `.scene` +- Название сцены должно соответствовать имени файла без расширения + +### Права доступа +- Подготовка сцены возможна только на сервере/хосте +- Клиенты не могут инициировать смену сцены + +## Отладка + +### Логи +Компонент выводит подробные логи: +- `Info`: Успешная подготовка сцены +- `Warning`: Отсутствие названия сцены или попытка подготовки на клиенте +- `Error`: Ошибки при проверке файла сцены + +### Список сцен +Используйте метод `ListAvailableScenes()` для просмотра доступных сцен в консоли. + +### Тестирование +Используйте метод `TestSceneLoad()` для проверки настроек компонента. + +## Ограничения s&box + +### Смена сцены +- Прямая смена сцены во время игры в s&box ограничена +- Обычно требуется перезапуск игры с новой сценой +- Компонент подготавливает данные для смены сцены + +### Альтернативы +- Использование `GameResource.Load()` +- Перезапуск игры с новой сценой +- Динамическая загрузка префабов вместо смены сцены + +## Совместимость + +- Работает с любыми сценами в формате `.scene` +- Совместим с системой взаимодействий s&box +- Поддерживает асинхронные операции +- Безопасен для использования в мультиплеере +- Проверяет существование файлов сцены \ No newline at end of file diff --git a/sasalka.sln.DotSettings.user b/sasalka.sln.DotSettings.user index 1303b1e..f794c74 100644 --- a/sasalka.sln.DotSettings.user +++ b/sasalka.sln.DotSettings.user @@ -48,6 +48,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded