Пример #1
0
    void ShowServers()
    {
        int page = GameCenter.loginMng.CurServerPage;
        List <ServerChoiceData> serverChoiceList = serverChoiceDic.ContainsKey(page)?serverChoiceDic[page]:new List <ServerChoiceData>();

        for (int i = 0, max = serverChoiceItems.Count; i < max; i++)
        {
            if (serverChoiceItems[i] != null)
            {
                serverChoiceItems[i].SetUnChecked();
                serverChoiceItems[i].gameObject.SetActive(false);
            }
        }
        ServerChoiceItem lastServer = null;

        for (int i = 0, max = serverChoiceList.Count; i < max; i++)
        {
            ServerChoiceItem serverChoiceItem = null;
            if (serverChoiceItems.Count <= i)
            {
                if (serverItem != null && serversPanel != null)
                {
                    serverChoiceItem = serverItem.CreateNew(serverGrid.transform);
                    serverChoiceItems.Add(serverChoiceItem);
                }
            }
            serverChoiceItem = serverChoiceItems.Count > i?serverChoiceItems[i]:null;
            if (serverChoiceItem != null)
            {
                serverChoiceItem.gameObject.SetActive(true);
                serverChoiceItem.SetData(serverChoiceList[i], OnChooseServer);
                if (i == 0)               //默认选中第一个
                {
                    lastServer = serverChoiceItems[i];
                }
            }
        }
        if (serverGrid != null)
        {
            serverGrid.repositionNow = true;
        }
        if (lastServer != null)
        {
            lastServer.SetChecked();
        }
    }
Пример #2
0
 /// <summary>
 /// 保存自己的历史服
 /// </summary>
 void SetMyServerInfo(string wwwText)
 {
     if (!serverChoiceDic.ContainsKey(0))
     {
         serverChoiceDic[0] = new List <ServerChoiceData>();
     }
     else
     {
         serverChoiceDic[0].Clear();
     }
     serverPageList.Clear();
     if (!string.IsNullOrEmpty(wwwText))
     {
         LitJson.JsonData jsonData = LitJson.JsonMapper.ToObject(wwwText);
         if (jsonData != null && wwwText.Contains("state"))
         {
             if ((int)jsonData["state"] == 1)
             {
                 //总页数
                 if (wwwText.Contains("data") && wwwText.Contains("page") && wwwText.Contains("total"))
                 {
                     int totalSize = (int)jsonData["data"]["page"]["total"];
                     int totalPage = (totalSize % 10 == 0) ? totalSize / 10 : (totalSize / 10 + 1);
                     for (int i = 0; i <= totalPage; i++)
                     {
                         ServerPageData data = new ServerPageData(i);
                         serverPageList.Add(data);
                     }
                 }
                 //推荐服or上次登陆服
                 if (wwwText.Contains("data") && wwwText.Contains("lastlogin"))
                 {
                     GameCenter.loginMng.LoginServerID   = jsonData["data"]["lastlogin"]["svrNO"].ToString();
                     GameCenter.loginMng.LoginServerName = jsonData["data"]["lastlogin"]["svrName"].ToString();
                     lastServerData              = new ServerChoiceData();
                     lastServerData.serverID     = jsonData["data"]["lastlogin"]["svrNO"].ToString();
                     lastServerData.serverName   = jsonData["data"]["lastlogin"]["svrName"].ToString();
                     lastServerData.serverStatus = (int)jsonData["data"]["lastlogin"]["state"];
                     if (lastLoginServer != null)
                     {
                         lastLoginServer.SetData(lastServerData, null);
                     }
                 }
                 //历史服
                 if (wwwText.Contains("data") && wwwText.Contains("history") && jsonData["data"]["history"] != null)
                 {
                     for (int i = 0; i < jsonData["data"]["history"].Count; i++)
                     {
                         //string[] historyItem = ((string)jsonData["history"][i]).Split('|');
                         ServerChoiceData refData = new ServerChoiceData();
                         refData.serverID     = jsonData["data"]["history"][i]["svrNO"].ToString();
                         refData.serverName   = jsonData["data"]["history"][i]["svrName"].ToString();
                         refData.serverStatus = (int)jsonData["data"]["history"][i]["state"];
                         serverChoiceDic[0].Add(refData);
                     }
                 }
             }
             else
             {
                 Debug.Log("服务器验证失败或正在维护");
             }
         }
     }
 }