예제 #1
0
    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);
        }
    }
예제 #2
0
    // 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);
            }
        }
    }