Redesign deck builder with HS-style layout
CI / test (push) Has been cancelled Details

This commit is contained in:
MpakobecEx 2026-10-21 19:00:27 +05:00
parent 6b4b2ab389
commit 14dce96218
5 changed files with 532 additions and 374 deletions

View File

@ -245,8 +245,9 @@
список колод; магазин и декбилдер подключены. список колод; магазин и декбилдер подключены.
- [x] Очередь: classic-ranked, опрос, отмена, тикет, переход в матч. - [x] Очередь: classic-ranked, опрос, отмена, тикет, переход в матч.
- [x] Простой декбилдер: фильтры (клан, грейд, триггер) в оверлее, - [x] Простой декбилдер: фильтры (клан, грейд, триггер) в оверлее,
сброс, статистика триггеров/грейдов, коллекция сеткой, текущая колода, сброс, сортировка клан→ранг→имя, карточная сетка с количеством,
создание/редактирование/сохранение, лимиты 50/4/owned. узкий список колод справа, редактор с вертикальным списком карт,
статистика по рангам и общему числу, добавление/удаление кликом.
- [ ] Декбилдер: drag&drop, live-валидация, редкость/тип/арт, пресеты. - [ ] Декбилдер: drag&drop, live-валидация, редкость/тип/арт, пресеты.
- [x] Базовая коллекция: список, балансы, разбор в пыль с подтверждением; - [x] Базовая коллекция: список, балансы, разбор в пыль с подтверждением;
арты и «сколько в колодах» — дальше. арты и «сколько в колодах» — дальше.

File diff suppressed because it is too large Load Diff

View File

@ -50,8 +50,9 @@ http://localhost:5080
- Восстановление сессии по refresh-токену при старте. - Восстановление сессии по refresh-токену при старте.
- Онбординг: две триал-деки из `/api/store`, выбор одной, 50 карт и 5 токенов. - Онбординг: две триал-деки из `/api/store`, выбор одной, 50 карт и 5 токенов.
- Коллекция: список карт, балансы, разбор в пыль с подтверждением. - Коллекция: список карт, балансы, разбор в пыль с подтверждением.
- Колоды: список, удаление, создание/редактирование в декбилдере; - Колоды: список справа, создание/редактирование в декбилдере;
фильтры (клан/грейд/триггер), статистика, текущая колода. сортировка коллекции клан→ранг→имя, фильтры, статистика по рангам,
добавление/удаление карт кликом.
- Магазин в Lobby: бустер за Gold/токен, показ 5 карт, покупка второй - Магазин в Lobby: бустер за Gold/токен, показ 5 карт, покупка второй
триал-деки. триал-деки.
- История матчей: список результатов, награды, MMR; просмотр реплея по - История матчей: список результатов, награды, MMR; просмотр реплея по

View File

@ -710,10 +710,14 @@ DeckBuilder / Battle; Boot и общие сервисы остаются пер
`clan`, `rarity`, `isSentinel`, `isParallel`, `basePrintingId`. `clan`, `rarity`, `isSentinel`, `isParallel`, `basePrintingId`.
Клиент объединяет каталог с коллекцией по `printingId`; правила для Клиент объединяет каталог с коллекцией по `printingId`; правила для
фильтров/статистики не дублируются в клиенте. фильтров/статистики не дублируются в клиенте.
- Новый `DeckBuilderView`: список колод → создание/редактирование. - Новый `DeckBuilderView` в духе HS:
В редакторе: фильтры в оверлее (grade/trigger/clan) и отдельный сброс, - список: сверху фильтры/сброс/создание, в центре сетка коллекции
статистика по триггерам и грейдам, коллекция сеткой, справа (изображение-заглушка, количество), справа узкий вертикальный список
горизонтальная зона текущей колоды, сохранение через POST/PUT. колод; клик по колоде открывает редактор;
- редактор: вместо создания — статистика по грейдам и общему числу,
справа вертикальный список карт колоды; клик по карте коллекции
добавляет, клик по карте колоды убирает одну копию;
- сортировка коллекции: клан → ранг → имя.
- Ограничения в UI: 50 карт, ≤4 по `nameId`, не больше owned-копий; - Ограничения в UI: 50 карт, ≤4 по `nameId`, не больше owned-копий;
серверная валидация остаётся источником истины. серверная валидация остаётся источником истины.
- `DeckBuilderSceneController` и `CollectionSceneController` теперь - `DeckBuilderSceneController` и `CollectionSceneController` теперь
@ -721,4 +725,5 @@ DeckBuilder / Battle; Boot и общие сервисы остаются пер
- `MetaService.GetCatalogAsync`, `UpdateDeckAsync`; `ApiClient.PutAsync`. - `MetaService.GetCatalogAsync`, `UpdateDeckAsync`; `ApiClient.PutAsync`.
- Проверки: серверные 131 + 44 на `ssh home`; Unity EditMode 2/2, - Проверки: серверные 131 + 44 на `ssh home`; Unity EditMode 2/2,
`SCENE_SMOKE success=True active=Login`; live `GET /api/cards` — 124 `SCENE_SMOKE success=True active=Login`; live `GET /api/cards` — 124
принта. принта; live UI-проба: загрузка 50 карт, создание колоды,
добавление и удаление карты.

View File

@ -39,13 +39,15 @@
- Сервисы: `ApiClient`, `AuthService`, `MetaService`, `TokenStore`, - Сервисы: `ApiClient`, `AuthService`, `MetaService`, `TokenStore`,
`PlayerState`, `GameConnection`. `PlayerState`, `GameConnection`.
- Работает: логин/регистрация/refresh, онбординг, коллекция с разбором, - Работает: логин/регистрация/refresh, онбординг, коллекция с разбором,
простой декбилдер (коллекция + текущая колода, фильтры в оверлее, декбилдер в духе HS (список колод справа, карточная сетка коллекции,
статистика триггеров/грейдов, создание/редактирование/сохранение), фильтры в оверлее, сортировка клан→ранг→имя, редактор с вертикальным
списком карт колоды и статистикой по рангам/общему числу),
магазин (бустер/триал-дека), история матчей и реплей, очередь, магазин (бустер/триал-дека), история матчей и реплей, очередь,
WebSocket-матч (snapshot, интенты, маллиган, сдача, `GameFinished`), WebSocket-матч (snapshot, интенты, маллиган, сдача, `GameFinished`),
таймер, результат. таймер, результат.
- Декбилдер: `DeckBuilderView`; каталог метаданных — `GET /api/cards` - Декбилдер: `DeckBuilderView`; каталог метаданных — `GET /api/cards`
(grade, trigger, clan, rarity, printing), клиент объединяет с коллекцией. (grade, trigger, clan, rarity, printing), клиент объединяет с коллекцией.
Изображения карт пока заглушки-плашки по цвету клана.
- Не готово: арты/модели/анимации, локализация RU/EN, настройки, DOTween. - Не готово: арты/модели/анимации, локализация RU/EN, настройки, DOTween.
## Запуск ## Запуск