К содержимому

SusHotbar

SusHotbar

Полоса быстрых слотов инвентаря — N слотов с key labels, selection chrome, цифры 1…N / стрелки / Enter.

Пакет

SusGame · HUD (коммерческий)

Открыть в песочнице

SusGame · HUD

Свойства

ИмяТипПо умолчанию
SlotCountProp<int>6
SelectedIndexProp<int>0
CooldownStyleProp<string>"Radial"

Слоты

Слотов нет.

События

ИмяПолеPayload
SlotActivatedOnSlotActivatedint
SelectionChangedOnSelectionChangedint

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-hotbar
  • sus-hotbar__cd-wipe
  • sus-hotbar__icon
  • sus-hotbar__icon-host
  • sus-hotbar__key
  • sus-hotbar__slot
  • sus-hotbar__slot--selected
  • sus-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 — это контракт быстрых слотов инвентаря.