internal static void OnSessionClosed(LunarSession session, CloseReason value) { BaseServerInfo.AllSessions.TryRemove(session.SessionID, out var tt); { var rsp = new E2G_Game_LoginOut(); rsp.Puid = session.SessionUuid; SendToGame(rsp); DictPuidSession.TryRemove(rsp.Puid.ToString(), out var t); } }
internal static void OnLoginOut(LunarSession session, LunarRequestInfo requestInfo) { var Req = new E2G_Game_LoginOut(requestInfo.Body); DictPlayerOnline.Remove(Req.Puid); foreach (var item in DictPlayerOnline.Values) { if (item.Id == Req.Puid) { continue; } var rsp = new G2E_Game_LoginOut(); rsp.Puid = item.Id; session.Send(rsp); } }