# QuizPleaseTest Boot Flow Unity-проект с загрузочным flow через собственную state machine, VContainer, UniTask и UniRx. ## Версия и пакеты - Unity: `2022.3.62f3` - Стартовая сцена: `Assets/Scenes/SampleScene.unity` - DI: `VContainer` - Async: `UniTask` - Reactive: `UniRx` - UI: `uGUI`, `TextMeshPro` ## Как запустить 1. Открыть проект в Unity `2022.3.62f3` или совместимой Unity 2022 LTS. 2. Открыть сцену `Assets/Scenes/SampleScene.unity`. 3. Убедиться, что на сцене есть `GameLifetimeScope`, `Canvas`, `EventSystem`, `Text (Data_Status)` и `Slider`. 4. Нажать `Play`. ## Как проверить сценарий 1. После старта статус должен стать `Splash`. 2. Затем должен начаться этап `Loading 0%`. 3. Во время загрузки статус должен обновляться до `Loading 100%`. 4. `Slider` должен двигаться от `0` к `1`. 5. После загрузки статус должен стать `Menu`. 6. Нажать кнопку `Restart`. 7. После нажатия должен снова выполниться цикл `Loading -> Menu`. 8. При остановке Play Mode на `Menu` не должно быть `MissingReferenceException`. Фактически потраченное время: 1 час 40 минут + 20 минут на написание текста Дополнительно можно изменить BootSettings для проверки. ## Что бы я доделал, будь еще 2 часа - Добавил бы Unit/Edit Mode тесты для быстрой проверки state machine, restart-сигнала и порядка `Exit -> Enter`, с комментариями к сценариям. - Настроил бы workflow для автобилдов, чтобы на каждый push проверялись компиляция и базовый build. - Добавил бы отдельный build-скрипт, который можно запускать локально и в CI одной командой. - Добавил бы tween-анимации для появления экранов и progress bar. В идеале сделал бы свои простые tweeners под задачу, а не тянул лишнюю абстракцию (и плагины). - Вынес бы тексты статусов в settings/localization-ready слой, чтобы не держать строки внутри states. - Добавил бы нормальный визуальный layout для Splash, Loading и Menu вместо минимального UI. Вероятно на основе готового ассета, для экономии времени. - Добавил бы Play Mode тест полного цикла `Splash -> Load -> Menu -> Restart -> Load`. - Добавил бы обработку ошибок загрузки и отдельное error-state поведение. - Нормально собрал в Prefab экраны и вынес бы текст как отдельный префаб, чтобы можно было по всему проекту быстро менять шрифт.