VanguardReMaster/client/README.md

76 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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-зависимость
в первый коммит.
- Мета-экраны — заглушки: сеть и авторизация настоящие, разделы следующие.