using ET;
namespace ET
{
///
/// 监视hp数值变化,改变血条值
///
[NumericWatcher(NumericType.Level)]
public class NumericWatcher_Level : INumericWatcher
{
public async ETTask Run(Entity entity, float old, float value)
{
Log.Info($"@{entity.Id}改变 Level:{old} -> {value}");
var unit = entity.As();
Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter_ChangeLevel
{
unit = unit,
level = (int)value
});
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateHeadInfo_ChangeLevel
{
unit = unit,
old = (int)old,
value = (int)value,
duration = 0.6f,
});
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateHeadInfo_ChangeMaxExp
{
unit = unit,
level = (int)value,
});
await ETTask.CompletedTask;
}
}
}