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 |
插槽
没有插槽。
事件
| 名称 | 字段 | 载荷 |
|---|---|---|
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
用法
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 时才显示离开按钮。
默认文字经由 SusGame String Table 解析;你自行设置的值优先。参见 本地化字符串。