SusUnitNameplate

World-ready неймплейт — faction bar, иконка, name / level, опциональное HP; может auto-bind с unit Transform.
Пакет
SusKit · Мир (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
UnitName | Prop<string> | "" | v-model |
Level | Prop<int> | 0 | v-model |
Faction | Prop<string> | "" | v-model |
Icon | Prop<string> | "" | v-model |
HpFraction | Prop<float> | 1f | v-model |
ShowHealthBar | Prop<bool> | false | v-model |
Target | Prop<Transform> | null | v-model |
AutoBind | Prop<bool> | true | v-model |
Слоты
Слотов нет.
События
Публичных событий нет.
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-unit-nameplatesus-unit-nameplate__contentsus-unit-nameplate__factionsus-unit-nameplate__faction--allysus-unit-nameplate__faction--enemysus-unit-nameplate__faction--neutralsus-unit-nameplate__hpsus-unit-nameplate__hp-fillsus-unit-nameplate__hp-fill--criticalsus-unit-nameplate__hp-fill--warningsus-unit-nameplate__iconsus-unit-nameplate__levelsus-unit-nameplate__namesus-unit-nameplate__platesus-unit-nameplate__row
Использование
Ручные props (значение по умолчанию в Storybook — AutoBind=false):
csharp
var unit = new SusUnitNameplate();
unit.UnitName.Value = "Captain";
unit.Level.Value = 12;
unit.Faction.Value = "ally";
unit.Icon.Value = "shield";
unit.HpFraction.Value = 0.55f;
unit.ShowHealthBar.Value = true;
unit.AutoBind.Value = false;xml
<template>
<sus:SusUnitNameplate :UnitName="Name.Value"
:Level="Level.Value"
:Faction="Faction.Value"
:Icon="Icon.Value"
:HpFraction="Hp.Value"
:ShowHealthBar="ShowHp.Value"
:AutoBind="AutoBind.Value" />
</template>
<script>
public Prop<string> Name = new("Captain");
public Prop<int> Level = new(12);
public Prop<string> Faction = new("ally");
public Prop<string> Icon = new("shield");
public Prop<float> Hp = new(0.55f);
public Prop<bool> ShowHp = new(true);
public Prop<bool> AutoBind = new(false);
// Optional: assign Target (Transform) + AutoBind=true to pull IWorldUnit* data.
</script>| Prop | Роль |
|---|---|
UnitName / Level / Icon | Строка идентификации |
Faction | ally · enemy · neutral (цвет faction bar) |
HpFraction | Заполнение HP 0…1 |
ShowHealthBar | Переключение видимости HP-полоски |
Target | Transform юнита для auto-bind |
AutoBind | Когда true и задан Target — синхронизация из IWorldUnit* |
Заметки
- Богаче, чем
SusNameplate: встроенный faction bar + иконка; опциональная привязка к Transform. - HP-полоса остаётся в DOM; видимость переключается через
ShowHealthBar.