Подробный список изменений:
- Добавлено файловое логирование игровых сессий в game.log и расширена диагностика COM-подключений.
- Подключен native COM transport с fallback-логикой для IL2CPP и добавлен плагин ComNative.dll.
- Исправлена логика one-way платформ, чтобы игрок проходил сквозь платформы при нахождении ниже их верхней точки.
- Переработана компоновка gameplay HUD: верхние плашки выровнены, левая уменьшена, центральная плашка очков центрирована и масштабирована.
- Добавлена общая выдача призов через хоппер с командами запуска/остановки мотора и ожиданием датчика.
- Подключен сервисный тест хоппера в настройках и обновлены связанные тесты.
- Добавлены скриншоты визуальной проверки HUD.
Подробный список изменений:
- В IPlayerController.cs и JumpPlayerController.cs добавлено событие LandedOnNormalPlatform, срабатывающее при обычном автопрыжке.
- В GameplaySession.cs внедрено свойство CurrentCombo. Очки при сборе монет и убийстве врагов умножаются на текущий комбо-множитель, который растет с каждым набором очков. Сброс комбо в 1 происходит по событию приземления на обычную платформу, при смерти или сбросе сессии.
- В GameplayHud.uxml добавлен элемент ComboValue с оранжевым стилем и тенью.
- В GameplayHudController.cs реализовано отображение комбо с анимацией пульсации scale.
- В шаблон GameplayOverlays.uxml добавлен контейнер PrizeStandContainer с тестовыми ячейками для корректного отображения структуры витрины в UI Builder.
- Убрано принудительное скрытие display: none для QR-контейнера в GameplayHud.uss для видимости в редакторе; скрытие теперь происходит при старте в C# скрипте.
- В GameplayHud.uss добавлены стили для сетки ячеек витрины и их цветовых состояний (готова к выдаче, пустая, открывается, открыта, ошибка).
- В PrizeResultOverlayWindow.cs реализован метод SetPrizeStandStatus для динамической генерации сетки ячеек витрины на основе их реального статуса.
- В GameplayHudController.cs интегрирован опрос состояний ячеек при выдаче физического приза с витрины и обновление их статуса на экране.
- В PrizeResultOverlayWindowTests.cs добавлен юнит-тест SetPrizeStandStatus_RendersCellsWithCorrectStatuses для верификации логики отображения ячеек.
- Добавлено импортирование таблицы стилей GameplayHud.uss внутрь GameplayOverlays.uxml для корректного отображения стилей в UI Builder.
- В GameplayHud.uss добавлены свойства -unity-font-definition для классов заголовков, кнопок и информационных полей оверлеев, использующие шрифты RifficFree-Bold и BerlinSansFBCyrillic-Regular.
- Добавлен асинхронный процесс аппаратной выдачи физических призов (хоппер и витрина) в GameplayHudController.
- Реализована блокировка выдачи по 10-секундному таймауту датчика хоппера с гарантированной отправкой команды отключения двигателя '300'.
- Реализован автоматический таймаут неактивности на экране QR-кода с последующим переходом в главное меню.
- Расширен сервис статистики PrizeSessionStateService новыми долгосрочными счетчиками (сыгранные игры, очки, монеты, сбои связи COM, физ. выдачи и ошибки).
- Обновлен построитель сводки статистики в меню настроек для отображения новых счетчиков и списка последних 5 сессий.
- Написаны EditMode тесты для проверки инкремента счетчиков и запуска выдачи призов.
Подробные изменения:
- Добавлена система призовых уровней и выдачи призов с QR-контуром Telegram, шаблоном сообщения и генерацией QR без внешних библиотек.
- Доработаны сервисные настройки: действия кнопок, модальные окна, ввод с джойстика/клавиатуры, статистика, настройки призов и маршрутизация QR.
- Переработаны gameplay HUD и overlay-панели на UI Toolkit со спрайтовыми плашками, DEV BUILD-статистикой, экраном продолжения и экраном результата приза.
- Исправлены сценарии смерти, GameOver, продолжения игры, начисления очков за высоту и перехода в главное меню.
- Перенесены UI-шаблоны из Resources в Assets/UI, подключена Addressables-загрузка шаблонов настроек и standalone-стили для MainMenuModals.
- Добавлены EditMode/PlayMode тесты для призов, QR, arcade input, UI-модалок, scene flow, HUD и gameplay-сессии.
- Обновлены сцены, настройки Addressables, service settings database, документация и дорожная карта.
Проверки:
- Targeted EditMode QR/UI/settings: 23/23 passed
- Targeted UI templates/EditMode: 17/17 passed
- MainMenuUxmlTests: 3/3 passed
- Full EditMode: 129/129 passed
- PlayMode: 6/6 passed
- Runtime Addressables template load check: loaded=5
- Unity Console после финального refresh: 0 errors