SusCellBar

Segmented resource bar — HP/MP cells split into discrete blocks; fill color via USS token classes only.
Пакет
SusKit · Atoms (коммерческий)
SusKit · Atoms
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Value | Prop<float> | 0f | |
Max | Prop<float> | 100f | |
SegmentCount | Prop<int> | 10 | |
Color | Prop<string> | "primary" |
Слоты
Слотов нет.
События
Публичных событий нет.
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-cell-barsus-cell-bar__cellsus-cell-bar__cell--emptysus-cell-bar__cell--fullsus-cell-bar__cell--gapsus-cell-bar__cell--partialsus-cell-bar__fillsus-cell-bar__fill--pct-10sus-cell-bar__fill--pct-20sus-cell-bar__fill--pct-30sus-cell-bar__fill--pct-40sus-cell-bar__fill--pct-50sus-cell-bar__fill--pct-60sus-cell-bar__fill--pct-70sus-cell-bar__fill--pct-80sus-cell-bar__fill--pct-90sus-cell-bar__rowsus-cell-bar--color-dangersus-cell-bar--color-infosus-cell-bar--color-primarysus-cell-bar--color-secondarysus-cell-bar--color-successsus-cell-bar--color-warning
Использование
xml
<template>
<sus:SusCellBar :Value="Hp.Value"
Max="100"
SegmentCount="10"
Color="danger" />
</template>
<script>
public Prop<float> Hp = new(64f);
</script>csharp
var hpBar = new SusCellBar();
hpBar.Max.Value = 100f;
hpBar.SegmentCount.Value = 10;
hpBar.Color.Value = "success";
hpBar.Value.Value = 80f;Цвет
primary · secondary · success · danger · warning · info
Заметки
- Сегменты заполняются слева направо по доле
Value/Max; частично заполненный сегмент использует дискретный 10%-ный USS-бакет ширины (sus-cell-bar__fill--pct-N), а не inline-стиль — то же правило «без C# style API», что и у остального kit. - Смена
SegmentCountпересобирает весь ряд; держите значение стабильным на экземпляр полосы, а не анимируйте его. Colorвыбирает USS token-класс и для полных ячеек, и для частичной заливки — меняйте токены в theme USS, а не стилизуйте из C#.