示例#1
0
    IEnumerator WaitForUnityWebRequestPlayerData(UnityWebRequest request, string json)
    {
        byte[] bodyRaw = new System.Text.UTF8Encoding().GetBytes(json);
        request.uploadHandler   = new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.SendWebRequest());

        while (!request.isDone)
        {
            yield return(null);
        }
        //Debug.Log("Response: " + request.downloadHandler.text);
        GetPlayerDataJSONResponse getPlayerDataJSONResponse = JsonUtility.FromJson <GetPlayerDataJSONResponse>(request.downloadHandler.text);

        if (getPlayerDataJSONResponse.status != "success")
        {
            Debug.Log(getPlayerDataJSONResponse.data);
        }
        else
        {
            string playerText = getPlayerDataJSONResponse.data;
            //Debug.Log(playerText);
            numPlayers = getPlayerDataJSONResponse.numPlayers;
            //Debug.Log(numPlayers);
            var    playerNames   = playerText.Split(',');
            string avatarText    = getPlayerDataJSONResponse.playerAvatars;
            var    playerAvatars = avatarText.Split(',');
            string birthYearList = getPlayerDataJSONResponse.playerBirthYears;
            var    birthYears    = birthYearList.Split(',');
            string subjectList   = getPlayerDataJSONResponse.playerLevels;
            var    subjects      = subjectList.Split(',');
            for (int i = 0; i < numPlayers; i++)
            {
                playerList += playerNames[i] + " ";
                int avatarIndex;
                int.TryParse(playerAvatars[i], out avatarIndex);
                GameObject newButton = Instantiate(playerButtonTemplate) as GameObject;
                newButton.SetActive(true);
                newButton.GetComponent <PlayerButtonController>().SetText(playerNames[i], i + 1, avatarIndex - 1, birthYears[i], subjects[i]);
                newButton.transform.SetParent(playerButtonTemplate.transform.parent, false);
            }
        }
        if (numPlayers == 0)
        {
            newNameMenu.SetActive(true);
        }
        if (openParentZone)
        {
            openParentZone = false;
            OpenParentZone();
        }
        loadingScreen.SetActive(false);
    }
示例#2
0
    IEnumerator WaitForUnityWebRequest(UnityWebRequest request, string json)
    {
        byte[] bodyRaw = new System.Text.UTF8Encoding().GetBytes(json);
        request.uploadHandler   = new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");
        yield return(request.SendWebRequest());

        while (!request.isDone)
        {
            yield return(null);
        }
        //Debug.Log("Response: " + request.downloadHandler.text);
        GetPlayerDataJSONResponse getPlayerDataJSONResponse = JsonUtility.FromJson <GetPlayerDataJSONResponse>(request.downloadHandler.text);
    }