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

SusHudWeaponPanel ​

SusHudWeaponPanel

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

Пакет

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

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

SusGame · HUD

Свойства

ИмяТипПо умолчанию
TitleProp<string>"WEAPON"
WeaponsProp<List<SusHudWeaponOption>>[]из пресетов
SelectedIdProp<string>""

Слоты

Слотов нет.

События

ИмяПоле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).

Локализованные строки ​

Title (по умолчанию "WEAPON") идёт через String Table SusGame; значение, заданное вами, побеждает. См. Локализованные строки.