Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /* 消息接收 */

        public void OnNotifyServerAddress(Stream stream)
        {
            LSToGC.ServerBSAddr msg = ProtoBuf.Serializer.Deserialize <LSToGC.ServerBSAddr>(stream);
            EventSystem.Broadcast(EGameEvent.OnReceiveBSAddress, msg);
        }