private ErrorCode GCStateReportHandler(Protos.GSInfo newGSInfo) { if (!LS.instance.gsInfos.TryGetValue(newGSInfo.Id, out GSInfo gsInfo)) { gsInfo = new GSInfo(); LS.instance.gsInfos[newGSInfo.Id] = gsInfo; } gsInfo.lid = newGSInfo.Id; gsInfo.name = newGSInfo.Name; gsInfo.ip = newGSInfo.Ip; gsInfo.port = newGSInfo.Port; gsInfo.password = newGSInfo.Password; gsInfo.state = (GSInfo.State)newGSInfo.State; Logger.Log($"GS report:{gsInfo},count:{LS.instance.gsInfos.Count}"); return(ErrorCode.Success); }
public void NotifyGSInfosToLS(uint sid) { Protos.CS2LS_GSInfos gsInfos = ProtoCreator.Q_CS2LS_GSInfos(); foreach (var kv in CS.instance.lIDToGSInfos) { GSInfo mGSInfo = kv.Value; Protos.GSInfo gsInfo = new Protos.GSInfo { Id = mGSInfo.lid, Name = mGSInfo.name, Ip = mGSInfo.ip, Port = mGSInfo.port, Password = mGSInfo.password, State = (Protos.GSInfo.Types.State)mGSInfo.state }; gsInfos.GsInfo.Add(gsInfo); } CS.instance.netSessionMgr.Send(sid, gsInfos); }