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

SusStatusEffect

SusStatusEffect

Chip buff / debuff — иконка с опциональными stacks, multiply, turns; tooltip на mini/normal.

Пакет

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

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

SusGame · HUD

Свойства

ИмяТипПо умолчанию
SizeProp<string>"normal"
IconProp<string>""
TitleProp<string>""
DescriptionProp<string>""
StacksProp<int>1
MultiplyProp<float>1f
TurnsLeftProp<int>0
IsDebuffProp<bool>false

Слоты

Слотов нет.

События

ИмяПолеPayload
ClickedOnClicked

Хуки стиля

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

  • sus-status-effect
  • sus-status-effect__desc
  • sus-status-effect__icon
  • sus-status-effect__meta
  • sus-status-effect__multiply
  • sus-status-effect__stacks
  • sus-status-effect__title
  • sus-status-effect__turns
  • sus-status-effect--buff
  • sus-status-effect--debuff
  • sus-status-effect--large
  • sus-status-effect--mini
  • sus-status-effect--normal
  • sus-status-effect-host

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

csharp
var fx = new SusStatusEffect();
fx.Size.Value = "normal"; // mini | normal | large
fx.ApplyData(new SusStatusEffectData
{
    Id = "regen",
    Icon = "heart",
    Title = "Regen",
    Description = "Restore HP each turn",
    Stacks = 2,
    Multiply = 1f,
    TurnsLeft = 3,
    IsDebuff = false,
});
fx.OnClicked += () => { /* open detail */ };
xml
<template>
  <sus:SusStatusEffect :Size="Size.Value"
                       :Icon="Icon.Value"
                       :Title="Title.Value"
                       :Description="Desc.Value"
                       :Stacks="Stacks.Value"
                       :Multiply="Mul.Value"
                       :TurnsLeft="Turns.Value"
                       :IsDebuff="Debuff.Value"
                       @clicked="OnClicked" />
</template>

<script>
public Prop<string> Size = new("normal");
public Prop<string> Icon = new("heart");
public Prop<string> Title = new("Regen");
public Prop<string> Desc = new("Restore HP each turn");
public Prop<int> Stacks = new(2);
public Prop<float> Mul = new(1f);
public Prop<int> Turns = new(3);
public Prop<bool> Debuff = new(false);
void OnClicked() { /* … */ }
</script>
Prop / APIРоль
Sizemini (иконка) · normal (мета) · large (title+desc, тултип выкл.)
Icon · Title · DescriptionВизуал + текст тултипа
StacksБейдж xN, когда > 1 (скрыт в mini)
Multiply×N, когда ≠ 0/1 (только normal)
TurnsLeftNt, когда > 0
IsDebuffОформление / цвет иконки debuff vs buff
ApplyData(SusStatusEffectData)Пакетно задаёт поля
OnClickedКлик по телу чипа

Заметки

  • Построен на kit SusTooltip + SusIcon — токены темы каскадируют из SusKit.
  • Карточки юнитов / rails обычно владеют инстансами через SetEffects; standalone-режим для инспекторов / large-детализации.
  • Компактные icon-only трэи: см. SusBuffTray.