32 lines
931 B
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|