SusHotbar

Полоса быстрых слотов инвентаря — N слотов с key labels, selection chrome, цифры 1…N / стрелки / Enter.
Пакет
SusGame · HUD (коммерческий)
SusGame · HUD
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
SlotCount | Prop<int> | 6 | |
SelectedIndex | Prop<int> | 0 | |
CooldownStyle | Prop<string> | "Radial" |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
SlotActivated | OnSlotActivated | int |
SelectionChanged | OnSelectionChanged | int |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-hotbarsus-hotbar__cd-wipesus-hotbar__iconsus-hotbar__icon-hostsus-hotbar__keysus-hotbar__slotsus-hotbar__slot--selectedsus-hotbar__title
Использование
csharp
var bar = new SusHotbar();
bar.SlotCount.Value = 6;
bar.SelectedIndex.Value = 0;
bar.OnSlotActivated += i => { /* use item */ };
bar.OnSelectionChanged += i => { /* highlight */ };
bar.SetSlotIcon(0, "potion");
bar.SetSlotLabel(0, "Heal");
bar.SetSlotIcon(1, "bomb");
bar.SetSlotLabel(1, "Grenade");xml
<template>
<sus:SusHotbar :SlotCount="Slots.Value"
:SelectedIndex="Selected.Value"
@slot-activated="OnSlotActivated"
@selection-changed="OnSelectionChanged" />
</template>
<script>
public Prop<int> Slots = new(6);
public Prop<int> Selected = new(0);
void OnSlotActivated(int index) { /* … */ }
void OnSelectionChanged(int index) { /* … */ }
// Call SetSlotIcon / SetSlotLabel after mount (slots rebuild on SlotCount).
</script>| Prop / API | Роль |
|---|---|
SlotCount | Слоты 1…10 (по умолчанию 6) |
SelectedIndex | Выбранный слот (визуал + клавиатура) |
SetSlotIcon(i, name) | Иконка для слота |
SetSlotLabel(i, text) | Заголовок под иконкой |
OnSlotActivated | Клик / цифра / Enter |
OnSelectionChanged | Выбор изменился |
Заметки
- Слоты пересобираются при изменении
SlotCount— задавайте иконки/подписи после пересборки/монтирования. - Клавиатура: цифры
1…N, Home/End, стрелки (roving focus), Space/Enter активируют. - Для боевых способностей предпочитайте SusAbilityBar; hotbar — это контракт быстрых слотов инвентаря.