namespace ET { [NumericWatcher(NumericType.Energy)] public class NumericWatcher_Energy : INumericWatcher { public async ETTask Run(Entity entity, float old, float value) { if (!entity) return; Unit unit = entity.As(); if (value <= 0) { value = 0; PlayerData data = unit.GetComponent(); data.ForbidExp = true; NumericComponent num = unit.GetComponent(); num.Set(NumericType.Energy, value,false); UnitHelper.SaveComponenet(num).Coroutine(); UnitHelper.SaveComponenet(data).Coroutine(); } DelaySendSyncAttributeComponent.instance.Add(unit, NumericType.Energy, value); await ETTask.CompletedTask; } } }