76 lines
3.5 KiB
Markdown
76 lines
3.5 KiB
Markdown
# 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`,
|
||
`PlayerState`, `AppRootView`.
|
||
- HTTP-клиент на `UnityWebRequest` + Newtonsoft.Json, разбор `ApiError`.
|
||
- Логин, регистрация, refresh, `/me`, выход.
|
||
- Восстановление сессии по refresh-токену при старте.
|
||
- Экран входа и главный экран с балансами, MMR и заглушками разделов.
|
||
|
||
## Что дальше
|
||
|
||
1. Онбординг: выбор триал-деки (`POST /api/meta/onboarding`).
|
||
2. Коллекция, разбор/крафт.
|
||
3. Декбилдер и список колод.
|
||
4. Магазин и открытие бустера.
|
||
5. Очередь и экран ожидания → тикет → WebSocket.
|
||
6. Боевая сцена: `MatchView`, `GameConnection`, проекция событий.
|
||
7. История матчей и реплей.
|
||
8. Локализация 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`.
|
||
|
||
## Ограничения каркаса
|
||
|
||
- Токены лежат в `PlayerPrefs` — только для разработки; для релиза нужно
|
||
защищённое хранилище.
|
||
- UI собран кодом на uGUI; префабы/UI Toolkit подключим, когда появятся
|
||
макеты. DOTween пока не добавлен, чтобы не тянуть Asset Store-зависимость
|
||
в первый коммит.
|
||
- Мета-экраны — заглушки: сеть и авторизация настоящие, разделы следующие.
|