Esempio n. 1
0
    IEnumerator GetTexture(RailsUser user, string uri)
    {
        UnityWebRequest request = UnityWebRequestTexture.GetTexture(uri);

        yield return(request.Send());

        if (request.isNetworkError)
        {
            Debug.Log(request.error);
        }
        else
        {
            Texture2D temp = (Texture2D)((DownloadHandlerTexture)request.downloadHandler).texture;
            TextureScale.Bilinear(temp, 526, 526);
            user.avatar = Sprite.Create(temp, new Rect(0, 0, temp.width, temp.height), new Vector2(0.5f, 0.5f));
        }
    }
Esempio n. 2
0
    IEnumerator UpdateRoomRequest(string uri, string bodyJsonString)
    {
        var request = new UnityWebRequest(uri, "POST");

        byte[] bodyRaw = new System.Text.UTF8Encoding().GetBytes(bodyJsonString);
        request.uploadHandler   = (UploadHandler) new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.Send());

        // process results
        var N = JSON.Parse(request.downloadHandler.text);

        //BUILD CURRENT ROOM
        if (currentRoom.last_updated != N["last_updated"])
        {
            currentRoom.last_updated         = N["last_updated"];
            currentRoom.chancellor_id        = N["room"]["chancellor_id"].AsInt;
            currentRoom.president_id         = N["room"]["president_id"].AsInt;
            currentRoom.disorder_count       = N["room"]["disorder_count"].AsInt;
            currentRoom.fascist_policy_count = N["room"]["fascist_policy_count"].AsInt;
            currentRoom.liberal_policy_count = N["room"]["liberal_policy_count"].AsInt;
        }

        if (N["players"].Count > currentRoom.users.Count)//a new user joined
        {
            List <RailsUser> newUsers = new List <RailsUser>();
            for (int k = 0; k < N["players"].Count; k++)
            {
                RailsUser newUser = new RailsUser();
                newUser.name = N["players"][k]["name"];
                newUser.id   = N["players"][k]["id"];
                StartCoroutine(GetTexture(newUser, (url + N["players"][k]["avatar"])));
                newUsers.Add(newUser);
            }
            currentRoom.users = newUsers;
        }
    }