Danil Iarosh 2963e342c2
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
refactor: improve COM flow and light timing
Архитектура COM и роли
- ComMultiManager переименован в ComHub и переведен на фабричный паттерн обработчиков по ROLE.
- Добавлен единый контракт обработчиков COM-контроллеров:
  - IComControllerHandler
  - DefaultComControllerHandler
- Ответственность за оркестрацию перенесена в ComSystemManager, чтобы инициализация COM и жизненный цикл контроллеров управлялись централизованно.
- ComWrapper сохранен как слой совместимости на время миграции логики в новую схему.
- PrizeStandController отрефакторен под новый role-handler pipeline вместо старой прямой привязки.
- Добавлен удобный доступ к PrizeStandController из менеджера системы там, где это требуется игровому коду.

Handshake/авторизация платы (ComDeviceClient)
- Авторизация платы переработана в строгую поэтапную последовательность:
  1) ПК отправляет 07
  2) ожидает CHAL
  3) отправляет 08 в ответ на CHAL
  4) ожидает RAES
- Парсер стадий теперь принимает только ожидаемые токены на каждой стадии:
  - WaitingChal -> только CHAL
  - WaitingRaes -> только RAES
- Любой посторонний вывод из serial во время handshake игнорируется (без немедленного падения), что устраняет ложные ошибки на нерелевантных COM-устройствах.
- Если ожидаемый ответ после 07 не приходит, порт быстро пропускается как нерелевантный, без эскалации в критическую ошибку.
- Для случаев с неподходящими/сторонними устройствами уровень логирования снижен с ошибок до предупреждений там, где это уместно.
- Добавлена подробная диагностика авторизации (переходы стадий, принятые значимые кадры, контекст таймаутов) для упрощения отладки.

Тестовая утилита handshake
- Добавлен Assets/Temp/Handshake_Test.cs как изолированный диагностический скрипт.
- Включены очень подробные логи по каждому шагу handshake и по каждому решению парсера.
- Позволяет отдельно гонять тестовый сценарий и сравнивать поведение платы, не ломая production-поток.

Стабильность COM и поведение reconnect
- Подправлена логика keep-alive, чтобы исключить агрессивные реконнекты.
- Reconnect теперь срабатывает только после нескольких последовательных пропусков INPUT-ответа, что снижает случайные обрывы COM и прерывания подсветки.

Поведение подсветки во время выполнения
- Циклы подсветки сделаны независимыми от Time.timeScale:
  - LightController: WaitForSeconds -> WaitForSecondsRealtime
  - LightSequence: WaitForSeconds -> WaitForSecondsRealtime
- Это устраняет случайные паузы/замедления световых циклов при изменении игрового времени (пауза, slow-mo, временные изменения scale).

Итоговый эффект
- COM-стек стал расширяемым по ролям и проще в сопровождении.
- Handshake стал детерминированным, устойчивым к serial-шуму и безопасным при работе со сторонними устройствами.
- Циклы подсветки стабилизированы для длительных сессий и больше не зависят от масштабирования игрового времени.
2026-02-24 11:34:25 +03:00
2025-10-13 19:14:38 +03:00
2025-09-08 08:02:07 +03:00

Данро (Danro)

Короткое описание

Это 2D-платформер в духе классических Mario-игр: уровни с прыжками, платформами и врагами, простая управляемая механика и визуальная стилизация под ретро/пиксельарт. Проект содержит игровые сцены, контроллеры персонажей, UI-элементы и инструменты для разработки уровней.

Ключевые особенности

  • Платформерная физика и управление персонажем (бег, прыжок, атака/взаимодействие).
  • Несколько уровней с различными препятствиями и врагами.
  • Система сообщений и модальных окон для диалогов и уведомлений.
  • Визуальные и звуковые эффекты, простая система уровней и прогрессии.

Как играть

  • Движение: стрелки или A/D.
  • Прыжок: пробел или клавиша Jump настроенная в проекте.
  • Взаимодействие: E или кнопка, указанная в игре.

Где искать билды

  • Локально: проверьте папку Builds/ в корне проекта (если она есть). Там могут находиться готовые сборки по платформам (Windows, macOS, WebGL и т.д.).
  • В репозитории: сборки и релизы также могут быть выгружены в раздел "Releases" на платформе хостинга (GitHub, Gitea).
  • Если вы не находите готовые билды, свяжитесь с автором проекта или смотрите ветки/артефакты CI, где могли быть опубликованы сборки.

Примечание

Этот README содержит только общие сведения о проекте и рекомендации, где искать сборки. Для технической документации, инструкции по сборке или разработке смотрите соответствующие файлы в репозитории или обратитесь за дополнительной информацией.

Description
Проект Данро - однопользовательский платформер для автоматов нашего производства
Readme 247 MiB
Languages
C# 100%