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

SusAbilitySlot

SusAbilitySlot

Ячейка способности — иконка, имя, keybind, оверлей кулдауна, опциональный hold-to-cast.

Пакет

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

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

SusGame · HUD

Свойства

ИмяТипПо умолчанию
IconProp<string>""
LabelProp<string>""
DescriptionProp<string>""
KeybindProp<string>""
Cooldown01Prop<float>0f
CooldownTextProp<string>""
CooldownStyleProp<string>"Radial"
DisabledProp<bool>false
UseHoldProp<bool>false
HoldDurationMsProp<int>800

Слоты

Слотов нет.

События

ИмяПолеPayload
ActivateOnActivate
HoldCompleteOnHoldComplete
HoldCancelOnHoldCancel

Хуки стиля

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

  • breakpoint-sm
  • sus-ability-slot
  • sus-ability-slot__cd
  • sus-ability-slot__cd-label
  • sus-ability-slot__cd-wipe
  • sus-ability-slot__hold-host
  • sus-ability-slot__icon-host
  • sus-ability-slot__key
  • sus-ability-slot__name
  • sus-ability-slot--disabled
  • sus-ability-slot--hold
  • sus-ability-slot--on-cd

Использование

csharp
var slot = new SusAbilitySlot();
slot.Icon.Value = "sword";
slot.Label.Value = "Strike";
slot.Description.Value = "Melee hit — 1 AP";
slot.Keybind.Value = "1";
slot.Cooldown01.Value = 0.4f;
slot.CooldownText.Value = "2s";
slot.Disabled.Value = false;
slot.UseHold.Value = false;
slot.OnActivate += () => { /* … */ };
xml
<template>
  <sus:SusAbilitySlot :Icon="Icon.Value"
                      :Label="Label.Value"
                      :Description="Desc.Value"
                      :Keybind="Key.Value"
                      :Cooldown01="Cd.Value"
                      :CooldownText="CdText.Value"
                      :Disabled="Disabled.Value"
                      :UseHold="Hold.Value"
                      :HoldDurationMs="HoldMs.Value"
                      @activate="OnActivate"
                      @hold-complete="OnHoldComplete"
                      @hold-cancel="OnHoldCancel" />
</template>

<script>
public Prop<string> Icon = new("sword");
public Prop<string> Label = new("Strike");
public Prop<string> Desc = new("Melee hit — 1 AP");
public Prop<string> Key = new("1");
public Prop<float> Cd = new(0.4f);
public Prop<string> CdText = new("2s");
public Prop<bool> Disabled = new(false);
public Prop<bool> Hold = new(false);
public Prop<int> HoldMs = new(800);
void OnActivate() { /* … */ }
void OnHoldComplete() { /* … */ }
void OnHoldCancel() { /* … */ }
</script>
PropРоль
IconИмя иконки для внутреннего SusIcon
LabelНазвание под иконкой
DescriptionТекст тултипа (вместе с label)
KeybindТекст клавиши в углу
Cooldown010 готово · 1 кулдаун полный
CooldownTextТекст оверлея во время кулдауна
DisabledБлокирует activate / hold
UseHoldВстраивает SusHoldButton вместо клика
HoldDurationMsДлительность hold при UseHold

Заметки

  • Класс кулдауна включается при Cooldown01 > 0.01.
  • Внутри полосы предпочитайте SetAbilities у SusAbilityBar — он сам заполняет эти пропы.