VanguardReMaster/client
MpakobecEx 1aca632958
CI / test (push) Successful in 1m20s Details
Add onboarding, collection and deck screens to the Unity client
2026-10-21 17:07:33 +05:00
..
.vscode Add Unity client skeleton with login and profile 2026-10-21 16:40:40 +05:00
Assets Add onboarding, collection and deck screens to the Unity client 2026-10-21 17:07:33 +05:00
Packages Add Unity client skeleton with login and profile 2026-10-21 16:40:40 +05:00
ProjectSettings Add onboarding, collection and deck screens to the Unity client 2026-10-21 17:07:33 +05:00
README.md Add onboarding, collection and deck screens to the Unity client 2026-10-21 17:07:33 +05:00

README.md

Vanguard ReMaster — Unity client

Клиент на Unity 6000.6.6f1 (Unity 6), URP. Пока это каркас: авторизация, восстановление сессии и главный экран профиля.

Как открыть

  1. Unity Hub → Add project from disk → папка client.
  2. Открыть проект редактором 6000.6.6f1.
  3. Первый импорт скачает пакеты (URP, Input System, Addressables, Localization, Newtonsoft.Json, VContainer с OpenUPM).
  4. Открыть Assets/Scenes/Boot.unity и нажать Play.

Если Unity предложит включить новый Input System — согласиться (в проекте уже activeInputHandler: 1).

Сервер

В форме входа по умолчанию стоит стенд:

http://192.168.31.158:18080

Адрес можно изменить прямо в поле и сохранить: он пишется в PlayerPrefs. Локальный сервер:

http://localhost:5080

Аккаунт создаётся кнопкой «Создать аккаунт»; имя 3–32 символа, пароль 8–128. Пароль от реального аккаунта в dev-клиенте не использовать.

Что уже есть

  • ClientBootstrap — запуск без привязки к сцене.
  • DI на VContainer: AppConfig, TokenStore, ApiClient, AuthService, MetaService, PlayerState, AppRootView.
  • HTTP-клиент на UnityWebRequest + Newtonsoft.Json, разбор ApiError.
  • Логин, регистрация, refresh, /me, выход.
  • Восстановление сессии по refresh-токену при старте.
  • Онбординг: две триал-деки из /api/store, выбор одной, 50 карт и 5 токенов.
  • Коллекция: список карт, балансы, разбор в пыль с подтверждением.
  • Колоды: список, удаление, автосборка стартовой колоды из выбранной триал-деки.
  • Экран входа и главный экран с балансами, MMR и переходами в разделы.

Что дальше

  1. Очередь и экран ожидания → тикет → WebSocket (GameConnection).
  2. Боевая сцена: MatchView, проекция событий, анимации.
  3. Полный декбилдер с фильтрами и счётчиками.
  4. Магазин и открытие бустера.
  5. История матчей и реплей.
  6. Локализация RU/EN, настройки, DOTween-анимации.

Плагины

Assets/Plugins/Vanguard.Shared — сборка Vanguard.Shared из server/src/Vanguard.Shared (netstandard2.1). В ней DTO протокола, MessagePack-сериализатор и юнион-кадры.

Assets/Plugins/MessagePack — MessagePack 3.1.12 и его runtime-зависимости (netstandard2.1), MIT.

При изменении протокола пересобрать Vanguard.Shared на серверной стороне и заменить DLL в Assets/Plugins/Vanguard.Shared.

Ограничения каркаса

  • Для dev-стенда включён HTTP: Project Settings → Player → Allow downloads over HTTP = Always (insecureHttpOption: 2). Для релиза нужен HTTPS и это значение вернуть в «Not allowed».
  • Токены лежат в PlayerPrefs — только для разработки; для релиза нужно защищённое хранилище.
  • UI собран кодом на uGUI; префабы/UI Toolkit подключим, когда появятся макеты. DOTween пока не добавлен, чтобы не тянуть Asset Store-зависимость в первый коммит.
  • Мета-экраны — заглушки: сеть и авторизация настоящие, разделы следующие.

Проверки

EditMode:

& 'C:\Program Files\Unity\Hub\Editor\6000.6.6f1\Editor\Unity.exe' `
  -batchmode -nographics -projectPath client `
  -runTests -testPlatform EditMode `
  -testResults client\TestResults.xml

PlayMode — то же с -testPlatform PlayMode. Тесты не ходят в сеть: проверяются composition root, создание Canvas и обоих экранов.