SusHudWeaponPanel

武器选项行——带图标 / 标签的 kit 按钮;点击选择武器 id。
包
SusGame · HUD(商业)
属性
没有公开属性。
插槽
没有插槽。
事件
| 名称 | 字段 | 载荷 |
|---|---|---|
WeaponSelected | OnWeaponSelected | string |
样式钩子
USS 类契约 — 无需改 C# 即可覆盖外观。状态通过这些类切换:
sus-hud-weapon-panelsus-hud-weapon-panel__btnsus-hud-weapon-panel__rowsus-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 / API | Role |
|---|---|
SetWeapons(list) | 用 SusHudWeaponOption 构建 / 原地更新 |
SetSelected(id) | 激活状态 + tonal / outlined 切换 |
ClearWeapons() | 移除所有按钮 |
OnWeaponSelected | 被选中武器的 Id(string) |
备注
- 在调用
SetWeapons前为空(挂载前的调用会排队)。 SusHudWeaponOption:Id、Label、Icon(PrependIcon)、Description(tooltip)、Selected。- 相同的 id 集合 → 只更新状态而不重新挂载(避免按钮尺寸抖动)。