fix: don't kill running light sequence on first device authorization
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled

- ComSystemManager: при авторизации дефолтного устройства больше не
  вызывается StopSequence() если последовательность уже играет.
  Это исправляет баг, при котором спецэффекты подсветки, запущенные
  GameManager-ом до завершения handshake, уничтожались и заменялись
  мигалкой шляпы.
- Логика авторизации разделена на три ветки:
  • приостановленные эффекты → ResumeAll() или сброс (если другая плата);
  • ничего не играет → Blink();
  • последовательность уже играет → не трогаем.
- Обновлены шрифтовые ассеты TextMesh Pro (Roboto-Bold SDF,
  LiberationSans SDF Fallback).
This commit is contained in:
Данил Ярош 2026-03-04 14:26:48 +03:00
parent abca043229
commit 820179aa7d
3 changed files with 33 additions and 2379 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -324,17 +324,26 @@ namespace RR.Common.Controls
_lastDefaultRole = newRole;
_lastDefaultMac = newMac;
if (isSameDevice && (_light.IsSequencePaused || _light.IsBlinkPaused))
if (_light.IsSequencePaused || _light.IsBlinkPaused)
{
// Та же плата переподключилась — восстанавливаем эффекты
_light.ResumeAll();
// Есть приостановленные эффекты
if (isSameDevice)
{
_light.ResumeAll();
}
else
{
// Другая плата — сбрасываем паузу и запускаем мигание
_light.StopSequence();
_light.Blink();
}
}
else
else if (!_light.IsSequencePlaying && !_light.IsBlinking)
{
// Другая плата или первое подключение — запускаем мигание с нуля
_light.StopSequence();
// Ничего не играет и не на паузе — запускаем мигание
_light.Blink();
}
// Если последовательность уже играет — не трогаем её
}
}