- Рефакторинг системы подсветки: вместо длительности в секундах теперь
используется количество циклов (float). Добавлена таблица длительности
циклов эффектов `LightCycleDurations` для пересчёта циклов в секунды.
Префикс команд подсветки изменён с `85` на `86`.
- `LightSequence`: добавлены `Pause()` / `Resume()` с запоминанием текущего
шага последовательности; возобновление продолжает с сохранённой позиции.
- `LightController`: добавлены `PauseAll()` / `ResumeAll()` для
приостановки и восстановления подсветки и мигания шляпы при
отключении/переподключении платы. Свойства `IsSequencePaused`,
`IsBlinkPaused`.
- `ComDeviceClient`: после успешной авторизации отправляются команды
`890003` и `8600`. Добавлен запрос MAC-адреса через команду `06`
(ответ — 12 hex-символов без префикса). Новое событие `ConnectionLost`
при начале KeepAlive-реконнекта.
- `ComHub`: очередь `_disconnectedQueue` с типом `DeviceDisconnectMessage`
(DeviceId + Role + Mac) — сохраняет идентификатор устройства до его
удаления из словаря. Подписка на `ConnectionLost`.
Добавлен `GetDeviceMac()`.
- `ComSystemManager`: при инициализации, если плата не обнаружена,
подсветка сразу ставится на паузу. При отвале дефолтного устройства —
`PauseAll()`, при переподключении — сравнение по MAC и роли через
`IsSameDevice()`: та же плата → `ResumeAll()`, другая → `Blink()` с нуля.
Добавлены событие `OnDeviceDisconnected` и метод `GetDeviceMac()`.
- `COMInput`: при событии `OnDeviceDisconnected` сбрасываются все состояния
кнопок через `ResetAllButtons()`, генерируя `buttonUp` для зажатых кнопок.
Устраняет баг залипания управления после переподключения платы.
- `GameManager`: расширена последовательность световых эффектов в меню
(добавлены `DiagonalWave3`, `WaveUp`, `OrangeWave`); вызовы `SetLight`
для game over/won переведены на float-циклы.
- Обновлены `ARCHITECTURE.md` и `README.md`: переписана документация
на актуальную структуру проекта и текущие возможности игры.
- Добавил новую систему настроек, возможности:
- Динамически создает список настроек
- Сохраняет настройки в JSON-файл
- Возможность группировать настройки
- Широкие возможности по кастомизации
- Применение настроек в реальном времени (частично)
- Добавил префабы для новых элементов настроек
- Изменил поведение игры исходя из нового формата настроек