SusHudTargetPanel

Ряд chip целей — icon + hit % (+ опциональный label); click / Enter выбирают target id.
Пакет
SusGame · HUD (коммерческий)
Свойства
Публичных свойств нет.
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
TargetSelected | OnTargetSelected | string |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-hud-target-panelsus-hud-target-panel__iconsus-hud-target-panel__itemsus-hud-target-panel__item--selectedsus-hud-target-panel__labelsus-hud-target-panel__pctsus-hud-target-panel__rowsus-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() | Удаляет все чипы |
OnTargetSelected | Id выбранной цели (string) |
Заметки
- Пуст, пока не вызван
SetTargets(вызовы до монтирования встают в очередь доMounted). SusHudTargetData:Id(обязателен),Icon(по умолчаниюcrosshair),Label,HitChance01(0…1→N%),Selected.- Клавиатура: сфокусированный чип активируется по Enter / Space.