SusHudWeaponPanel

Ряд вариантов оружия — kit-кнопки с icon / label; click выбирает weapon id.
Пакет
SusGame · HUD (коммерческий)
Свойства
Публичных свойств нет.
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
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 | Роль |
|---|---|
SetWeapons(list) | Строит / обновляет на месте из SusHudWeaponOption |
SetSelected(id) | Активный + tonal vs outlined |
ClearWeapons() | Удаляет все кнопки |
OnWeaponSelected | Id выбранного оружия (string) |
Заметки
- Пуст, пока не вызван
SetWeapons(вызовы до монтирования встают в очередь). SusHudWeaponOption:Id,Label,Icon(PrependIcon),Description(тултип),Selected.- Тот же набор id → обновление состояния без remount (избегает button size thrash).