using System; using System.Collections.Generic; using System.Text; namespace ET { public class TimerSendEnergyEvent : AEvent { public override async ETTask Run(EventType.UpdatePer30MinuteOfDay args) { List list = await DBComponent.Instance.Query(u => u.Level >= 500); if (list == null || list.Count == 0) return; foreach (User user in list) { try { NumericComponent num = null; Unit unit = MapUnitComponent.Instance.Get(user.Id); if (unit != null) { num = unit.GetComponent(); } if (num == null) { num = await DBComponent.Instance.Query(user.Id); } if (num == null) continue; int energy = num.GetAsInt(NumericType.Energy); if (energy >= ConstDefine.AutoEnergyMax) continue; num.AddSet(NumericType.Energy, ConstDefine.EnergyPer30Minute); await UnitHelper.SaveComponenet(num); } catch (Exception e) { Log.Error(e); } } } } }