public IEnumerator GetLeaderboard(ResourceType resource) { UnityWebRequest www = UnityWebRequest.Get(url + "/api/Gameplay/Top/" + ResourceUtility.GetName(resource)); AddRequestHeaders(www); yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); } else { string json = www.downloadHandler.text; // Create user info from json. UserData[] top = JsonHelper.getJsonArray <UserData>(json); Debug.Log("Status code : " + www.responseCode + "\n" + json); gameMgr.uiMgr.UpdateLeaderboard(resource, top); } }
// TODO calculate place depending exaequo. public void UpdateLeaderboard(ResourceType resource, UserData[] top) { string resourceName = ResourceUtility.GetName(resource); leaderboardTitle.text = "TOP 10 - " + resourceName; for (int i = 0; i < entries.Length; i++) { if (i < top.Length) { entries[i].gameObject.SetActive(true); entries[i].text = "[" + (i + 1) + "] " + top[i].name + " : " + GetResource(resource, top[i]) + " " + resourceName + "s"; } else { entries[i].gameObject.SetActive(false); } } }