Пример #1
0
 public ErrorCode OnCs2LsGslost(NetSessionBase session, Google.Protobuf.IMessage message)
 {
     Protos.CS2LS_GSLost gsLost = (Protos.CS2LS_GSLost)message;
     LS.instance.gsInfos.Remove(gsLost.Gsid);
     Logger.Log($"GS lost:{gsLost.Gsid},count:{LS.instance.gsInfos.Count}");
     return(ErrorCode.Success);
 }
Пример #2
0
        public void OnGSSessionClosed(NetSessionBase session)
        {
            //更新GS列表
            CS.instance.lIDToGSInfos.Remove(session.logicID);
            CS.instance.UpdateAppropriateGSInfo();

            //踢出所有连接到该GS的玩家
            CS.instance.userMgr.OnGSDisconnect(session.logicID);

            //通知LS有GS断开连接了
            Protos.CS2LS_GSLost message = ProtoCreator.Q_CS2LS_GSLost();
            message.Gsid = session.logicID;
            CS.instance.netSessionMgr.Send(SessionType.ServerLS, message);

            session.logicID = 0;
        }