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

SusFloatingDamage

SusFloatingDamage

Эфемерное плавающее число (−damage / +heal): анимируется вверх и самоудаляется ~через 1.2 с.

Пакет

SusKit · Мир (коммерческий)

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

SusKit · World

Свойства

ИмяТипПо умолчанию
DamageProp<int>0
IsCriticalProp<bool>false
IsHealProp<bool>false

Слоты

Слотов нет.

События

Публичных событий нет.

Хуки стиля

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

  • fd-label
  • sus-floating-damage
  • sus-floating-damage--crit
  • sus-floating-damage--default
  • sus-floating-damage--heal

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

Создавайте новый экземпляр на каждый удар — элемент удаляет себя сам по окончании анимации.

csharp
var dmg = new SusFloatingDamage();
dmg.Damage.Value = 128;
dmg.IsCritical.Value = true;
dmg.IsHeal.Value = false;
host.Add(dmg);
xml
<template>
  <sus:SusFloatingDamage :Damage="Amount.Value"
                         :IsCritical="Critical.Value"
                         :IsHeal="Heal.Value" />
</template>

<script>
public Prop<int> Amount = new(128);
public Prop<bool> Critical = new(true);
public Prop<bool> Heal = new(false);
</script>
PropРоль
DamageОтображаемое абсолютное значение (0 пропускает отрисовку)
IsCriticalCrit-стилизация (игнорируется при heal)
IsHealПрефикс + + класс heal

Заметки

  • Текст лейбла — -N (damage) или +N (heal); величина берётся из Math.Abs(Damage).
  • После анимации элемент вызывает RemoveFromHierarchy — пересоздавайте для следующего удара (Storybook использует loop + Replay).
  • Сочетайте с world-space хостами / маркерами при отображении над юнитом.