SusReconnectOverlay

Баннер потери соединения в середине матча — индикатор переподключения с таймером, переходящий в состояние ошибки с повтором и необязательными действиями выхода.
Пакет
SusGame · HUD (коммерческий)
SusGame · HUD
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Open | Prop<bool> | false | |
Failed | Prop<bool> | false | |
Kicker | Prop<string> | "CONNECTION LOST" | |
Text | Prop<string> | "Reconnecting…" | |
RetryText | Prop<string> | "RETRY" | |
LeaveText | Prop<string> | "Leave" | |
CanLeave | Prop<bool> | false | |
TimerFormat | Prop<string> | "{0}s" | |
Timer | Prop<string> | "" | |
Progress | Prop<float> | 0f |
Слоты
События
| Имя | Поле | Payload |
|---|---|---|
Deadline | OnDeadline | — |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-hiddensus-reconnectsus-reconnect__btnsus-reconnect__kickersus-reconnect__leavesus-reconnect__rowsus-reconnect__textsus-reconnect__timersus-reconnect__tracksus-reconnect--can-leavesus-reconnect--failedsus-reconnect--open
Использование
<sus:SusReconnectOverlay />overlay.OnDeadline = () => overlay.ShowFailed(onRetry: Reconnect, onLeave: BackToMenu);
overlay.ShowReconnect(deadlineSeconds: 30f);| Prop / API | Роль |
|---|---|
Kicker / Text | Заголовок и сообщение. По умолчанию "CONNECTION LOST", "Reconnecting…" |
RetryText / LeaveText | Подписи кнопок. По умолчанию "RETRY", "Leave" |
TimerFormat / Timer | Формат обратного отсчёта, {0} = оставшиеся целые секунды (по умолчанию "{0}s"), и текущий текст |
Progress | Оставшееся время, 1 → 0 |
ShowReconnect(deadlineSeconds, text) | Состояние переподключения с обратным отсчётом |
ShowFailed(onRetry, onLeave, text) | Состояние сбоя с повтором и выходом |
ShowFailed(text) / Show(kicker, text) / Hide() | Прежние перегрузки, без изменений |
OnDeadline | Вызывается один раз, когда обратный отсчёт истёк |
Btn / LeaveBtn | Кнопки повтора и выхода |
Дедлайн
ShowReconnect(deadlineSeconds) ведёт отсчёт в unscaled-времени, поэтому игра на паузе (timeScale = 0) всё равно отсчитывает. Когда время вышло, отсчёт останавливается и вызывается OnDeadline; если OnDeadline не задан, оверлей сам переключается в состояние сбоя. Неположительный дедлайн уже истёк. При включённом SusMotion.Reduce полоса шагает раз в секунду, а не скользит; сам обратный отсчёт продолжает идти.
Повтор и выход
ShowFailed(onRetry, onLeave) подключает кнопку повтора (Btn) к onRetry, а кнопку выхода (LeaveBtn, класс sus-reconnect__leave) — к onLeave, заменяя их прежние обработчики клика. Кнопка выхода показывается, только если onLeave не null.
Тексты по умолчанию идут через String Table SusGame; значение, заданное вами, побеждает. См. Локализованные строки.