37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
using ET;
|
||
|
||
namespace ET
|
||
{
|
||
/// <summary>
|
||
/// 监视hp数值变化,改变血条值
|
||
/// </summary>
|
||
[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<Unit>();
|
||
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;
|
||
}
|
||
}
|
||
}
|