К содержимому

SusHudWeaponPanel

SusHudWeaponPanel

Ряд вариантов оружия — kit-кнопки с icon / label; click выбирает weapon id.

Пакет

SusGame · HUD (коммерческий)

Открыть в песочнице

SusGame · HUD

Свойства

Публичных свойств нет.

Слоты

Слотов нет.

События

ИмяПолеPayload
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 / APIРоль
SetWeapons(list)Строит / обновляет на месте из SusHudWeaponOption
SetSelected(id)Активный + tonal vs outlined
ClearWeapons()Удаляет все кнопки
OnWeaponSelectedId выбранного оружия (string)

Заметки

  • Пуст, пока не вызван SetWeapons (вызовы до монтирования встают в очередь).
  • SusHudWeaponOption: Id, Label, Icon (PrependIcon), Description (тултип), Selected.
  • Тот же набор id → обновление состояния без remount (избегает button size thrash).