IEnumerator IGetPlayersHighScores(int days) { string s = www + "/" + playersName; if (days != 0) { s += "?days=" + days; } UnityWebRequest webRequest = UnityWebRequest.Get(s); webRequest.SetRequestHeader("unityKey", "unity1234"); yield return(webRequest.SendWebRequest()); if (webRequest.isNetworkError || webRequest.isHttpError) { Debug.Log(webRequest.error); } else { string a = webRequest.downloadHandler.text; //returned array have to be wrapped to variable in order to use JsonUtility convert ScoreEntryArray sArray = JsonUtility.FromJson <ScoreEntryArray>("{\"entries\":" + a.ToString() + "}"); //Unityn ankea FromJson: 1) lista pitää olla wrapper luokassa // 2) ko. luokassa EI voi olla get/set tai ei osaa toimia FillInScoreList(sArray.entries.ToArray(), 1); } }
public IEnumerator ISendResult() { //tämä ei toimi NewEntry n = new NewEntry { name = playersName, score = playersScore }; string entryJson = JsonUtility.ToJson(n); byte[] bytes = Encoding.UTF8.GetBytes(entryJson); WWWForm form = new WWWForm(); form.AddBinaryData("body", bytes); UnityWebRequest req = UnityWebRequest.Post(www, form); req.SetRequestHeader("Content-Type", "application/json"); req.SetRequestHeader("UnityKey", "unity1234"); req.uploadHandler = new UploadHandlerRaw(bytes); req.uploadHandler.contentType = "application/json"; yield return(req.SendWebRequest()); if (req.isNetworkError || req.isHttpError) { Debug.Log(req.error); } else { string a = req.downloadHandler.text; EntryResult result = JsonUtility.FromJson <EntryResult>(a); if (result.ranking > 0) { madeItOrNotText.text = "YOU MADE IT TO THE LIST"; int startFrom; if (result.ranking < 10) { startFrom = 1; } else { startFrom = result.ranking - 4; } string searchUrl = www + "?slice=" + startFrom; UnityWebRequest webRequest = UnityWebRequest.Get(searchUrl); webRequest.SetRequestHeader("unityKey", "unity1234"); yield return(webRequest.SendWebRequest()); if (webRequest.isNetworkError || webRequest.isHttpError) { Debug.Log(webRequest.error); } else { string entryList = webRequest.downloadHandler.text; ScoreEntryArray sArray = JsonUtility.FromJson <ScoreEntryArray>("{\"entries\":" + entryList.ToString() + "}"); FillInScoreListWithEntry(sArray.entries.ToArray(), startFrom, result); } } else { madeItOrNotText.text = "Bummer... Not good enough"; HighScoresButtonPressed(); } } }