2026-06-07 10:03:32 +07:00
2026-05-27 03:16:53 +07:00
2026-06-07 10:03:32 +07:00
2026-05-27 11:21:24 +07:00
2026-05-27 08:29:41 +07:00
2026-05-27 08:29:41 +07:00
2026-05-27 08:29:41 +07:00
2026-05-27 11:21:24 +07:00

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 экраны и вынес бы текст как отдельный префаб, чтобы можно было по всему проекту быстро менять шрифт.
S
Description
Тестовое задание в Квиз Плиз Unity 2022.3.62f3
Readme 1.8 MiB
2026-06-07 06:05:00 +03:00
Languages
C# 97.5%
ShaderLab 1.2%
GLSL 0.9%
HLSL 0.4%