public void OnReceiveBSAddress(LSToGC.ServerBSAddr msg) { GameServerData.Instance.Clean(); for (int i = 0; i < msg.serverinfo.Count; i++) { string address = msg.serverinfo[i].ServerAddr; int state = msg.serverinfo[i].ServerState; string name = msg.serverinfo[i].ServerName; int port = msg.serverinfo[i].ServerPort; GameServerData.Instance.AddServerInfo(i, name, (GameServerData.EServerState)state, address, port); } NetworkManager.Instance.Close(); GameServerData.Instance.SetDefaultServer(); View.ShowLoginUI(); }
private void PostMsgToGC_NotifyServerList(uint gcNetID) { //发送第2消息:登录成功,下发BS服务器列表 LSToGC.ServerBSAddr serverList = new LSToGC.ServerBSAddr(); List <ServerAddr> serverAddrs = LS.instance.lsConfig.gAllServerAddr; foreach (ServerAddr serverAddr in serverAddrs) { LSToGC.ServerInfo info = new LSToGC.ServerInfo { ServerName = serverAddr.str_name, ServerAddr = serverAddr.str_addr, ServerPort = serverAddr.str_port }; serverList.Serverinfo.Add(info); } Logger.Log("Post Server List To User."); LS.instance.netSessionMgr.SendMsgToSession(gcNetID, serverList, ( int )LSToGC.MsgID.EMsgToGcfromLsNotifyServerBsaddr); }
/* 消息接收 */ public void OnNotifyServerAddress(Stream stream) { LSToGC.ServerBSAddr msg = ProtoBuf.Serializer.Deserialize <LSToGC.ServerBSAddr>(stream); EventSystem.Broadcast(EGameEvent.OnReceiveBSAddress, msg); }