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

SusHudTargetPanel

SusHudTargetPanel

Ряд chip целей — icon + hit % (+ опциональный label); click / Enter выбирают target id.

Пакет

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

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

SusGame · HUD

Свойства

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

Слоты

Слотов нет.

События

ИмяПолеPayload
TargetSelectedOnTargetSelectedstring

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-hud-target-panel
  • sus-hud-target-panel__icon
  • sus-hud-target-panel__item
  • sus-hud-target-panel__item--selected
  • sus-hud-target-panel__label
  • sus-hud-target-panel__pct
  • sus-hud-target-panel__row
  • sus-hud-target-panel__title

Использование

Управляется списком: заполняйте из кода через SetTargets. XML отвечает только за оформление (фиксированный заголовок «TARGETS»).

csharp
var panel = new SusHudTargetPanel();
panel.OnTargetSelected += id => { /* lock target */ };

panel.SetTargets(new List<SusHudTargetData>
{
    new() { Id = "e1", Icon = "crosshair", Label = "Raider", HitChance01 = 0.72f, Selected = true },
    new() { Id = "e2", Icon = "crosshair", Label = "Scout", HitChance01 = 0.45f },
});

panel.UpdateHitChance("e1", 0.80f);
panel.SetSelected("e2");
xml
<template>
  <sus:SusHudTargetPanel @target-selected="OnTargetSelected" />
</template>

<script>
void OnTargetSelected(string id) { /* … */ }
// Call SetTargets / UpdateHitChance / SetSelected from combat code after mount.
</script>
Prop / APIРоль
SetTargets(list)Пересобирает чипы из SusHudTargetData
UpdateHitChance(id, hitChance01)Патчит % без полной пересборки
SetSelected(id)Переключает класс --selected
ClearTargets()Удаляет все чипы
OnTargetSelectedId выбранной цели (string)

Заметки

  • Пуст, пока не вызван SetTargets (вызовы до монтирования встают в очередь до Mounted).
  • SusHudTargetData: Id (обязателен), Icon (по умолчанию crosshair), Label, HitChance01 (0…1N%), Selected.
  • Клавиатура: сфокусированный чип активируется по Enter / Space.