跳转到内容

SusAbilitySlot

SusAbilitySlot

单个技能格 — 图标、名称、按键提示、冷却遮罩,可选按住施法。

SusGame · HUD(商业)

在 Playground 中打开

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

插槽

没有插槽。

事件

名称字段载荷
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阻止激活 / 按住
UseHoldSusHoldButton 代替普通点击
HoldDurationMsUseHold 时的按住时长

备注

  • Cooldown01 > 0.01 时启用冷却样式类。
  • 在技能栏内,优先使用 SusAbilityBarSetAbilities —— 它会替你写入这些属性。