public void SetData(ServerChoiceData _data, System.Action <ServerChoiceData> _callback) { ClearData(); if (nameLab != null) { nameLab.text = "[b]" + _data.serverName; } if (flagObj != null) { for (int i = 0, length = flagObj.Length; i < length; i++) { if (flagObj[i] != null) { flagObj[i].SetActive(i == (_data.serverStatus - 1)); } } } if (toggle != null) { toggle.optionCanBeNone = false; EventDelegate.Add(toggle.onChange, () => { if (toggle.value && _callback != null) { _callback(_data); } }); } }
void SetServerData(string wwwText) { if (!serverChoiceDic.ContainsKey(GameCenter.loginMng.CurServerPage)) { serverChoiceDic[GameCenter.loginMng.CurServerPage] = new List <ServerChoiceData>(); } else { serverChoiceDic[GameCenter.loginMng.CurServerPage].Clear(); } serverPageList.Clear(); if (wwwText != string.Empty && 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")) { 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); } } for (int i = 0; i < jsonData["data"]["serverList"].Count; i++) { ServerChoiceData refData = new ServerChoiceData(); refData.serverID = (jsonData["data"]["serverList"][i]["svrid"]).ToString(); refData.serverName = (string)jsonData["data"]["serverList"][i]["svrname"]; refData.serverStatus = (int)jsonData["data"]["serverList"][i]["status"]; //refData.serverIP = (string)jsonData["serverinfos"][i]["ip"]; //refData.serverPort = (string)jsonData["serverinfos"][i]["port"]; serverChoiceDic[GameCenter.loginMng.CurServerPage].Add(refData); } } else //服务器维护或者认证失败 { Debug.Log("服务器验证失败或正在维护"); } } } ShowServers(); }
/// <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("服务器验证失败或正在维护"); } } } }
void OnChooseServer(ServerChoiceData data) { GameCenter.loginMng.LoginServerName = data.serverName; GameCenter.loginMng.LoginServerID = data.serverID; }