К содержимому

SusReconnectOverlay ​

SusReconnectOverlay

Баннер потери соединения в середине матча — индикатор переподключения с таймером, переходящий в состояние ошибки с повтором и необязательными действиями выхода.

Пакет

SusGame · HUD (коммерческий)

Открыть в песочнице

SusGame · HUD

Свойства

ИмяТипПо умолчанию
OpenProp<bool>false
FailedProp<bool>false
KickerProp<string>"CONNECTION LOST"
TextProp<string>"Reconnecting…"
RetryTextProp<string>"RETRY"
LeaveTextProp<string>"Leave"
CanLeaveProp<bool>false
TimerFormatProp<string>"{0}s"
TimerProp<string>""
ProgressProp<float>0f

Слоты

Слотов нет.

События

ИмяПолеPayload
DeadlineOnDeadline—

Хуки стиля ​

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-hidden
  • sus-reconnect
  • sus-reconnect__btn
  • sus-reconnect__kicker
  • sus-reconnect__leave
  • sus-reconnect__row
  • sus-reconnect__text
  • sus-reconnect__timer
  • sus-reconnect__track
  • sus-reconnect--can-leave
  • sus-reconnect--failed
  • sus-reconnect--open

Использование ​

xml
<sus:SusReconnectOverlay />
csharp
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; значение, заданное вами, побеждает. См. Локализованные строки.