using ET; namespace ET { [NumericWatcher(NumericType.Energy)] public class NumericWatcher_Energy : INumericWatcher { public async ETTask Run(Entity entity, float old, float value) { Log.Info($"@{entity.Id}改变 Energy:{old} -> {value}"); if (entity.Id != entity.ZoneScene().GetComponent().MyId) return; int energy = MathHelper.RoundToInt(value); Game.EventSystem.Publish_Sync(new ET.EventType.ChangeEnergy { energy = energy, }); ItemHelper.ChangeEnergy(energy); await ETTask.CompletedTask; } } }