Release
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# 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 экраны и вынес бы текст как отдельный префаб, чтобы можно было по всему проекту быстро менять шрифт.
|
||||
Reference in New Issue
Block a user