Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Архитектура 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-шуму и безопасным при работе со сторонними устройствами. - Циклы подсветки стабилизированы для длительных сессий и больше не зависят от масштабирования игрового времени.
54 lines
2.2 KiB
JSON
54 lines
2.2 KiB
JSON
{
|
|
"dependencies": {
|
|
"com.github-glitchenzo.nugetforunity": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity",
|
|
"com.unity.ai.inference": "2.5.0",
|
|
"com.unity.cinemachine": "3.1.5",
|
|
"com.unity.collab-proxy": "2.11.3",
|
|
"com.unity.feature.2d": "2.0.2",
|
|
"com.unity.ide.rider": "3.0.39",
|
|
"com.unity.ide.visualstudio": "2.0.26",
|
|
"com.unity.inputsystem": "1.18.0",
|
|
"com.unity.multiplayer.center": "1.0.1",
|
|
"com.unity.render-pipelines.universal": "17.3.0",
|
|
"com.unity.test-framework": "1.6.0",
|
|
"com.unity.timeline": "1.8.10",
|
|
"com.unity.ugui": "2.0.0",
|
|
"com.unity.visualeffectgraph": "17.3.0",
|
|
"com.unity.visualscripting": "1.9.9",
|
|
"com.unity.modules.accessibility": "1.0.0",
|
|
"com.unity.modules.adaptiveperformance": "1.0.0",
|
|
"com.unity.modules.ai": "1.0.0",
|
|
"com.unity.modules.androidjni": "1.0.0",
|
|
"com.unity.modules.animation": "1.0.0",
|
|
"com.unity.modules.assetbundle": "1.0.0",
|
|
"com.unity.modules.audio": "1.0.0",
|
|
"com.unity.modules.cloth": "1.0.0",
|
|
"com.unity.modules.director": "1.0.0",
|
|
"com.unity.modules.imageconversion": "1.0.0",
|
|
"com.unity.modules.imgui": "1.0.0",
|
|
"com.unity.modules.jsonserialize": "1.0.0",
|
|
"com.unity.modules.particlesystem": "1.0.0",
|
|
"com.unity.modules.physics": "1.0.0",
|
|
"com.unity.modules.physics2d": "1.0.0",
|
|
"com.unity.modules.screencapture": "1.0.0",
|
|
"com.unity.modules.terrain": "1.0.0",
|
|
"com.unity.modules.terrainphysics": "1.0.0",
|
|
"com.unity.modules.tilemap": "1.0.0",
|
|
"com.unity.modules.ui": "1.0.0",
|
|
"com.unity.modules.uielements": "1.0.0",
|
|
"com.unity.modules.umbra": "1.0.0",
|
|
"com.unity.modules.unityanalytics": "1.0.0",
|
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
|
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
|
"com.unity.modules.unitywebrequesttexture": "1.0.0",
|
|
"com.unity.modules.unitywebrequestwww": "1.0.0",
|
|
"com.unity.modules.vectorgraphics": "1.0.0",
|
|
"com.unity.modules.vehicles": "1.0.0",
|
|
"com.unity.modules.video": "1.0.0",
|
|
"com.unity.modules.vr": "1.0.0",
|
|
"com.unity.modules.wind": "1.0.0",
|
|
"com.unity.modules.xr": "1.0.0"
|
|
}
|
|
}
|