using ET; namespace ET { /// /// 监视hp数值变化,改变血条值 /// [NumericWatcher(NumericType.Hp)] public class NumericWatcher_Hp : INumericWatcher { public async ETTask Run(Entity entity, float old, float value) { Log.Info($"@{entity.Id}改变 Hp:{old} -> {value}"); Unit unit = entity.As(); Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter_ChangeHp { zoneScene=entity.ZoneScene(), unit = unit, }); Game.EventSystem.Publish_Sync(new ET.EventType.UpdateHeadInfo_ChangeHp { zoneScene = entity.ZoneScene(), unit = unit, old = old, value = value }); await ETTask.CompletedTask; } } }