using ET.EventType; using System; using System.Collections.Generic; using System.Text; namespace ET { public class CloseServerEvent : AEvent { public override async ETTask Run(CloseServer a) { try { IEnumerable arr = OnLineComponent.Instance.GetAll(); foreach (Session session in arr) { MessageHelper.SendActor(session.InstanceId, new M2C_SendTip { Message = "服务器维护中,您已经被强制下线" }); await TimerComponent.Instance.WaitAsync(100); session.Send(new G2C_ForceOffLine()); await TimerComponent.Instance.WaitAsync(500); session.Dispose(); } } catch (Exception e) { Log.Error(e); } } } }