跳转到内容

SusBrandLockup ​

SusBrandLockup

标题或大厅界面的品牌标识组合 — 可选图像标记、带线的文字行,以及 kicker、tagline 和 sub 行;堆叠或横排布局,支持紧凑模式。

包

SusGame · 屏幕(商业)

在 Playground 中打开

SusGame · Screens

属性

名称类型默认值
MarkProp<Texture2D>null
MarkImageProp<Background>default(Background)
WordProp<string>""
KickerProp<string>""
TaglineProp<string>""
SubProp<string>""
LayoutProp<string>"stacked"
CompactProp<bool>false

插槽

没有插槽。

事件

没有公开事件。

样式钩子 ​

USS 类契约 — 无需改 C# 即可覆盖外观。状态通过这些类切换:

  • sus-brand
  • sus-brand__kicker
  • sus-brand__mark
  • sus-brand__mark--empty
  • sus-brand__rule
  • sus-brand__rule--end
  • sus-brand__rule--start
  • sus-brand__rule-row
  • sus-brand__sub
  • sus-brand__tagline
  • sus-brand__word
  • sus-brand--compact
  • sus-brand--row
  • sus-brand--stacked
  • sus-hidden

使用 ​

xml
<sus:SusBrandLockup />

标志 ​

文字标识旁的可选图像(位于其上方,或在 row 变体中位于其旁边)按以下顺序取自三个来源之一:

  1. MarkImage — 任意 UI Toolkit 背景类型,通过 Background.FromTexture2D、 FromSprite、FromVectorImage 或 FromRenderTexture 构建。
  2. Mark — 普通的 Texture2D,为兼容而保留。两者都设置时,MarkImage 胜出。
  3. 皮肤的样式。 两个 prop 都为空时,标志元素带有状态类 sus-brand__mark--empty,组件自身的样式表会将其隐藏。皮肤用写在自身皮肤类下的规则显示标志 — 无需代码。

从代码设置标志:

csharp
lockup.MarkImage.Value = Background.FromSprite(logoSprite);

从皮肤样式设置标志:

css
.myskin-skin .sus-brand__mark--empty {
    display: flex;
    background-image: resource("MySkin/mark");
}

正是皮肤类前缀让这条规则能从皮肤根上胜出 — 参见 SusSkin:品牌规则如何胜出。使用 component 层的皮肤可以省去前缀。没有这样的规则时,空标志保持隐藏:不会出现占位框。