public async Task PopulateLeaderboard(Action <bool, LeaderboardReceiveJsonData> callback)
    {
        LeaderboardReceiveJsonData data;

        if (!useServer)
        {
            //data = new LeaderboardReceiveJsonData();
            //callback(true, data);
            return;
        }

        string url;

        if (!useMocky)
        {
            Debug.Log("Using actual server url...");
            url = "http://" + ip + port + playerServletUrl + "getLeaderBoard";
        }
        else
        {
            Debug.Log("Using mocky url...");
            url = "http://www.mocky.io/v2/5ba30c4e2f000077008d2eee";
        }

        var r = await LoadUrlAsync(url, (request) =>
        {
            if (string.IsNullOrEmpty(request.error))
            {
                string result = request.text.Trim();
                data          = JsonUtility.FromJson <LeaderboardReceiveJsonData>(result);
                //Debug.Log("myresult: " + result);

                if (data.error.error_code == ERROR_CODE_200)
                {
                    callback(true, data);
                }
                else
                {
                    callback(false, data);
                }
            }
            else
            {
                WriteError(request, "PopulateLeaderboard");
                data = new LeaderboardReceiveJsonData();
                callback(false, data);
            }
        });
    }
 public void PopulateData(LeaderboardReceiveJsonData rJson)
 {
     if (rJson.data != null && rJson.data.Count > 0)
     {
         for (int i = 0; i < nameText.Count; i++)
         {
             if (i >= rJson.data.Count)
             {
                 nameText[i].text  = "-";
                 scoreText[i].text = "-";
             }
             else
             {
                 nameText[i].text  = rJson.data[i].name;
                 scoreText[i].text = rJson.data[i].score.ToString().Trim();
             }
         }
     }
 }