From efcfaae647fb8a67e4cd6ac0f19acfd7d6cd3cd8 Mon Sep 17 00:00:00 2001 From: ThomasCharester Date: Mon, 9 Feb 2026 16:22:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=98=20=D0=B3=D0=BE=D0=BD=D1=89=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2,=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA,=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20?= =?UTF-8?q?=D0=B8=D0=B3=D1=80=D1=8B=20=D0=B8=20=D0=BF=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.idea.Infra/.idea/workspace.xml | 108 ++++- .../AssetGroups/Default Local Group.asset | 11 + Assets/Code/Debug/SceneChooser.cs | 11 +- Assets/Code/Example/Race/RaceGame.cs | 21 +- Assets/Code/Example/Race/RaceScores.cs | 46 +- .../Code/Example/Race/Racer/AI/AICarDriver.cs | 12 + .../Example/Race/Racer/AI/AICarDriver.cs.meta | 3 + .../Code/Example/Race/Racer/AI/AIRacerID.cs | 59 ++- Assets/Code/Example/Race/Racer/AI/ID/Agent.cs | 5 - .../Race/Racer/AI/ID/Behaviours/Seek.cs | 4 +- ...rCarControllerRB.cs => CarControllerRB.cs} | 89 ++-- ...llerRB.cs.meta => CarControllerRB.cs.meta} | 0 .../Racer/Player/PlayerRBCarController.cs | 44 ++ .../Player/PlayerRBCarController.cs.meta | 3 + .../Example/Race/Racer/Player/PlayerRacer.cs | 16 +- Assets/Code/Example/Race/Racer/Racer.cs | 3 +- .../Code/Example/Race/Racer/RacerFactory.cs | 9 +- Assets/Code/Example/Race/Track/CheckPoint.cs | 24 +- .../Code/Example/Race/Track/RaceTrackData.cs | 3 +- .../Example/Race/UI/PlayerScoreCounter.cs | 19 +- Assets/Code/Example/Race/UI/WinScreen.cs | 30 ++ Assets/Code/Example/Race/UI/WinScreen.cs.meta | 3 + .../Infrastructure/App/AppStateMachine.cs | 1 + .../Code/Infrastructure/App/PapaInstaller.cs | 1 + .../SceneInstallers/GameplaySceneInstaller.cs | 8 +- .../App/States/BootstrapState.cs | 5 +- .../App/States/GameplayState.cs | 51 ++- .../App/States/MainMenuState.cs | 56 ++- .../Code/Infrastructure/Audio/AudioFactory.cs | 3 + .../Infrastructure/SceneLoader/SceneLoader.cs | 9 +- .../UI/Panels/DamnEmptyPanel.cs | 4 +- .../UI/Panels/MenuChoosePanel.cs | 6 +- Assets/Code/Infrastructure/UI/UIFactory.cs | 5 +- Assets/Code/Infrastructure/UI/UIPanelType.cs | 1 + Assets/Code/Infrastructure/UI/UIService.cs | 4 + Assets/Resources/Example/Misc/Point.prefab | 3 +- .../Example/Race/Configs/AIGreen.asset | 10 +- .../Example/Race/Configs/AIRed.asset | 10 +- .../Example/Race/PlayerCounter.prefab | 4 +- .../Example/Race/PlayerRacist.prefab | 12 +- .../Example/Race/Racist (1).prefab | 426 +++++++++++++++++- .../Example/Race/WinScreen.asset | 21 + .../Example/Race/WinScreen.asset.meta | 8 + .../Example/Race/WinScreen.prefab | 278 ++++++++++++ .../Example/Race/WinScreen.prefab.meta | 7 + .../UI/Panels/SceneSelectPanel.prefab | 54 ++- Assets/Scenes/Gameplay.unity | 162 ++++++- Assets/Scenes/MainMenu.unity | 26 +- 48 files changed, 1486 insertions(+), 212 deletions(-) create mode 100644 Assets/Code/Example/Race/Racer/AI/AICarDriver.cs create mode 100644 Assets/Code/Example/Race/Racer/AI/AICarDriver.cs.meta rename Assets/Code/Example/Race/Racer/{Player/PlayerCarControllerRB.cs => CarControllerRB.cs} (56%) rename Assets/Code/Example/Race/Racer/{Player/PlayerCarControllerRB.cs.meta => CarControllerRB.cs.meta} (100%) create mode 100644 Assets/Code/Example/Race/Racer/Player/PlayerRBCarController.cs create mode 100644 Assets/Code/Example/Race/Racer/Player/PlayerRBCarController.cs.meta create mode 100644 Assets/Code/Example/Race/UI/WinScreen.cs create mode 100644 Assets/Code/Example/Race/UI/WinScreen.cs.meta create mode 100644 Assets/Resources_moved/Example/Race/WinScreen.asset create mode 100644 Assets/Resources_moved/Example/Race/WinScreen.asset.meta create mode 100644 Assets/Resources_moved/Example/Race/WinScreen.prefab create mode 100644 Assets/Resources_moved/Example/Race/WinScreen.prefab.meta diff --git a/.idea/.idea.Infra/.idea/workspace.xml b/.idea/.idea.Infra/.idea/workspace.xml index 33507f3..ac83830 100644 --- a/.idea/.idea.Infra/.idea/workspace.xml +++ b/.idea/.idea.Infra/.idea/workspace.xml @@ -5,18 +5,51 @@ + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + - + + + + + + - + @@ -136,4 +170,62 @@ + + + + + file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs + 141 + + + + + + + + + file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs + 62 + + + + + + + + + file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs + 60 + + + + + + + + + file://$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs + 62 + + + + + + + + + + \ No newline at end of file diff --git a/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset b/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset index 2a1637f..321a0ed 100644 --- a/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset +++ b/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset @@ -125,6 +125,12 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 55ccf07d7c51c2a409a42ddcda3b3b30 + m_Address: Assets/Resources_moved/Configs/UI/WinScreen.asset + m_ReadOnly: 0 + m_SerializedLabels: + - UIPanelConfig + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 62388720cc90ef87f9d8ed5328dbc6fe m_Address: Assets/Resources_moved/Configs/Audio/AudioInfoConfig.asset m_ReadOnly: 0 @@ -308,6 +314,11 @@ MonoBehaviour: m_SerializedLabels: - SceneConfig FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: f60baf3e133aa2644a106742a1f2c2fb + m_Address: Assets/Resources_moved/Example/Race/WinScreen.prefab + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: f7cebe94899e9257497d042d1ec4fd76 m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/ButtonRollOver.asset m_ReadOnly: 0 diff --git a/Assets/Code/Debug/SceneChooser.cs b/Assets/Code/Debug/SceneChooser.cs index baf35de..4132942 100644 --- a/Assets/Code/Debug/SceneChooser.cs +++ b/Assets/Code/Debug/SceneChooser.cs @@ -1,8 +1,10 @@ +using System.Collections.Generic; using Code.Infrastructure.App; using Code.Infrastructure.SceneLoader; using Reflex.Attributes; using UnityEngine; using UnityEngine.SceneManagement; +using UnityEngine.UI; namespace Code.Debug { @@ -12,7 +14,7 @@ namespace Code.Debug [Inject] private AppStateMachine _stateMachine; public void ChooseScene(int id) { - _sceneLoader.LoadSceneAsync((SceneId)id, LoadSceneMode.Single).Forget(); + _sceneLoader.LoadSceneAsync((SceneId)id, LoadSceneMode.Additive).Forget(); } public void ChooseState(int id) @@ -24,5 +26,12 @@ namespace Code.Debug { _stateMachine.SwitchState(AppStates.Gameplay).AllowStateTransition(AppStates.MainMenu); } + + [SerializeField] private List