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