跳转到内容

SusHudWeaponPanel

SusHudWeaponPanel

武器选项行——带图标 / 标签的 kit 按钮;点击选择武器 id。

SusGame · HUD(商业)

在 Playground 中打开

SusGame · HUD

属性

没有公开属性。

插槽

没有插槽。

事件

名称字段载荷
WeaponSelectedOnWeaponSelectedstring

样式钩子

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

  • sus-hud-weapon-panel
  • sus-hud-weapon-panel__btn
  • sus-hud-weapon-panel__row
  • sus-hud-weapon-panel__title

用法

列表驱动:SetWeapons。XML 只负责外框(固定的 "WEAPON" 标题)。

csharp
var panel = new SusHudWeaponPanel();
panel.OnWeaponSelected += id => { /* equip / mode */ };

panel.SetWeapons(new List<SusHudWeaponOption>
{
    new() { Id = "rifle", Label = "Rifle", Icon = "crosshair", Description = "Mid range", Selected = true },
    new() { Id = "shotgun", Label = "Shotgun", Icon = "target", Description = "Close" },
});

panel.SetSelected("shotgun");
xml
<template>
  <sus:SusHudWeaponPanel @weapon-selected="OnWeaponSelected" />
</template>

<script>
void OnWeaponSelected(string id) { /* … */ }
// Call SetWeapons / SetSelected from loadout / combat code after mount.
</script>
Prop / APIRole
SetWeapons(list)SusHudWeaponOption 构建 / 原地更新
SetSelected(id)激活状态 + tonal / outlined 切换
ClearWeapons()移除所有按钮
OnWeaponSelected被选中武器的 Idstring

备注

  • 在调用 SetWeapons 前为空(挂载前的调用会排队)。
  • SusHudWeaponOptionIdLabelIconPrependIcon)、Description(tooltip)、Selected
  • 相同的 id 集合 → 只更新状态而不重新挂载(避免按钮尺寸抖动)。