zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Server/Hotfix/Game/Event/CloseServerEvent.cs

32 lines
931 B
C#

using ET.EventType;
using System;
using System.Collections.Generic;
using System.Text;
namespace ET
{
public class CloseServerEvent : AEvent<EventType.CloseServer>
{
public override async ETTask Run(CloseServer a)
{
try
{
IEnumerable<Session> 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);
}
}
}
}