SusLoadingScreenContent

全出血加载页 — 品牌横幅、spinner 和/或 linear bar、消息 + 可选副行。
包
SusGame · 屏幕(商业)
属性
| 名称 | 类型 | 默认值 | |
|---|---|---|---|
BrandText | Prop<string> | "" | |
Message | Prop<string> | "Loading..." | |
MessageKey | Prop<string> | "" | |
MessageCount | Prop<string> | "" | |
SubMessage | Prop<string> | "" | |
Progress | Prop<float> | 0f | |
ShowSpinner | Prop<bool> | true | |
SpinnerStyle | Prop<string> | "circular" | |
Visible | Prop<bool> | true | |
Map | Prop<bool> | false | |
MapPhase | Prop<string> | "search" | |
ShowBar | Prop<bool> | true | |
RadarPlacement | Prop<string> | "below" | |
RetryText | Prop<string> | "Retry" | |
TelemetryLayout | Prop<string> | "inline" | |
TelemetryReserveRows | Prop<int> | 0 | |
ErrorCountdownSeconds | Prop<int> | 20 | |
ErrorCountdownTickMs | Prop<int> | 1000 | |
Backdrop | Prop<List<SusParallaxLayer>> | [] |
插槽
没有插槽。
事件
没有公开事件。
样式钩子
USS 类契约 — 无需改 C# 即可覆盖外观。状态通过这些类切换:
sus-brand__wordsus-loading-screensus-loading-screen__backdropsus-loading-screen__barsus-loading-screen__brandsus-loading-screen__countdownsus-loading-screen__countdown-fillsus-loading-screen__countdown-numsus-loading-screen__errorsus-loading-screen__error-btnsus-loading-screen__error-textsus-loading-screen__error-titlesus-loading-screen__indicatorsus-loading-screen__messagesus-loading-screen__message--swapsus-loading-screen__message-countsus-loading-screen__message-rowsus-loading-screen__radarsus-loading-screen__segmentssus-loading-screen__subsus-loading-screen__sub-keysus-loading-screen__sub-rowsus-loading-screen__sub-row--dangersus-loading-screen__sub-row--livesus-loading-screen__sub-row--oksus-loading-screen__sub-row--reservedsus-loading-screen__sub-row--warnsus-loading-screen__sub-rowssus-loading-screen__sub-rows--columnssus-loading-screen__sub-valsus-loading-screen--visible
用法
xml
<template>
<sus:SusLoadingScreenContent
:BrandText="Brand.Value"
:Message="Msg.Value"
:SubMessage="Sub.Value"
:Progress="Prog.Value"
:ShowSpinner="Spin.Value"
/>
</template>
<script>
public Prop<string> Brand = new("My Game");
public Prop<string> Msg = new("Loading...");
public Prop<string> Sub = new("");
public Prop<float> Prog = new(0.35f); // 0…1; <0 = indeterminate
public Prop<bool> Spin = new(true);
</script>csharp
var loading = new SusLoadingScreenContent();
loading.BrandText.Value = "My Game";
loading.Message.Value = "Connecting…";
loading.SubMessage.Value = "Region EU";
loading.Progress.Value = 0.4f; // shows linear bar
loading.Progress.Value = -1f; // indeterminate → spinner if ShowSpinner
loading.ShowSpinner.Value = true;| Prop / API | Role |
|---|---|
BrandText | 顶部横幅;为空 → 隐藏 |
Message | 主标签 |
SubMessage | 次标签;为空 → 隐藏 |
Progress | 0…1 → 进度条百分比;< 0 → 不确定模式 |
ShowSpinner | 不确定模式下显示圆形 spinner |
BrandBanner | 内置的横幅宿主 |
背景
Backdrop 接收一个 SusParallaxLayer 列表(图片、深度、可选 USS 类),并在屏幕后方放置一个 SusParallaxStack:
csharp
loading.Backdrop.Value = new List<SusParallaxLayer>
{
new SusParallaxLayer(Background.FromTexture2D(sky), depth: 4f),
new SusParallaxLayer(Background.FromTexture2D(skyline), depth: 14f),
};- 为 null 或空(默认)时不创建任何内容:树保持原样。
- 设置后,会添加第一个子元素
sus-loading-screen__backdrop(绝对定位,忽略 picking),其中 放置堆栈(BackdropHost/BackdropStack)。再次清空时,该节点会被移除。 - 堆栈会跟随整个屏幕上方的指针,在应用失去焦点时暂停, 并在
SusMotion.Reduce开启时停驻。
菜单屏幕 SusMenuScreen 也有同样的 Backdrop prop。
指示器、地图阶段与雷达
这里的每个 prop 默认都保持原有外观;只有在你设置它时,才会出现新的类和节点。
| Prop | 取值 | 效果 |
|---|---|---|
SpinnerStyle | "circular"(默认)| "spinner" | "dual" | spinner / dual:在 Progress 为负值期间,由 SusSpinner(尺寸 lg,dual 时开启 Dual)替代圆环;圆环通过类隐藏 |
MapPhase | "search"(默认)| "map" | map 在 Map 开启期间添加 sus-loading-screen--map-stage,让皮肤可以把地图阶段与搜索阶段区分开来设置样式 |
ShowBar | true(默认)| false | false 在任意 Progress 下都隐藏进度条 |
RadarPlacement | "below"(默认)| "above" | above:搜索雷达紧挨在消息之前 |
RetryText | "Retry" | ShowError 重试按钮的文字 |
Progress 为负值时只显示忙碌指示器,其下方没有空的进度条。 将 SearchRadar.Label 设为 "" 会隐藏雷达的说明文字。
遥测行
SetTelemetry(rows) 原地更新各行:每一行由其键(加上该键的重复序号)识别,保留自己的元素,只改变值和 状态类。新键会被插入,缺失的键会被移除。
| Prop | 取值 | 效果 |
|---|---|---|
TelemetryLayout | "inline"(默认)| "columns" | columns(sus-loading-screen__sub-rows--columns):键右对齐、值左对齐于同一条轴线,值的长度变化时键保持不动 |
TelemetryReserveRows | 0(默认)或 N | 至少 N 行;缺少的行是等高的隐藏占位行(__sub-row--reserved),行陆续到达时区块不会变高 |
消息阶段与计数器
| Prop | 效果 |
|---|---|
MessageKey | 为空(默认):每次 Message 变化都加 __message--swap,与以前相同。已设置:只在键变化时加切换类 |
MessageCount | 消息旁的计数器,例如 "12/80"。第一个非空值会构建 __message-row + __message-count;计数器变化从不触发切换 |
csharp
loading.MessageKey.Value = "assets";
loading.Message.Value = "Loading assets";
loading.MessageCount.Value = "12/80"; // later "13/80": no swapSusLoadingFlowScreen 公开 MessageKey 和 MessageCount;Reset() 会同时清空两者。
备注
- 确定态路径将
Progress钳制到 0…1 并映射到进度条 0…100。 - 不确定态隐藏进度条;spinner 的可见性还需要
ShowSpinner=true。 - 与 kit 的
MigratedLoadingScreen不同(包 / props 不同)。