27 lines
698 B
C#
27 lines
698 B
C#
|
namespace ET
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 监视hp数值变化,改变血条值
|
|||
|
/// </summary>
|
|||
|
[NumericWatcher(NumericType.MaxHp)]
|
|||
|
public class NumericWatcher_MaxHp : INumericWatcher
|
|||
|
{
|
|||
|
public async ETTask Run(Entity unit, float old, float value)
|
|||
|
{
|
|||
|
var num = unit.GetComponent<NumericComponent>();
|
|||
|
|
|||
|
if (value <= 0)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
else if (value < num.GetAsInt(NumericType.Hp))
|
|||
|
{
|
|||
|
num.Set(NumericType.Hp, value);
|
|||
|
}
|
|||
|
|
|||
|
DelaySendSyncAttributeComponent.instance.Add(unit .As<Unit>(), NumericType.MaxHp, value);
|
|||
|
await ETTask.CompletedTask;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|