SusHudTargetPanel

目标 chip 行——图标 + 命中率(+ 可选标签);点击 / Enter 选择目标 id。
包
SusGame · HUD(商业)
属性
没有公开属性。
插槽
没有插槽。
事件
| 名称 | 字段 | 载荷 |
|---|---|---|
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 | Role |
|---|---|
SetTargets(list) | 用 SusHudTargetData 重建 chip 列表 |
UpdateHitChance(id, hitChance01) | 只更新命中率百分比,不整体重建 |
SetSelected(id) | 切换 --selected 类 |
ClearTargets() | 移除所有 chip |
OnTargetSelected | 被选中目标的 Id(string) |
备注
- 在调用
SetTargets前为空(挂载前的调用会排队,等到Mounted后执行)。 SusHudTargetData:Id(必填)、Icon(默认crosshair)、Label、HitChance01(0…1→N%)、Selected。- 键盘操作:获得焦点的 chip 可通过 Enter / Space 激活。