32 lines
910 B
C#
32 lines
910 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
|
|||
|
{
|
|||
|
var arr = OnLineComponent.Instance.GetAll();
|
|||
|
foreach (var 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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|