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(); } }
/// <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("服务器验证失败或正在维护"); } } } }