fix: don't kill running light sequence on first device authorization
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
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:
parent
abca043229
commit
820179aa7d
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -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();
|
||||
}
|
||||
// Если последовательность уже играет — не трогаем её
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user