public void childTest()
        {
            int    expected = 0;
            VKUser user     = new VKUser(29411485);

            Assert.AreEqual(expected, user.Childs.Count, "Property Child doesn`t extract childs from user correctly");
        }
示例#2
0
    void getFriendsHandler(VKRequest request)
    {
        if (request.error != null)
        {
            return;
        }

        var dict  = Json.Deserialize(request.response) as Dictionary <string, object>;
        var resp  = (Dictionary <string, object>)dict["response"];
        var items = (List <object>)resp["items"];

        List <BeaverTimeVKFriend> friends = new List <BeaverTimeVKFriend>();

        foreach (var item in items)
        {
            BeaverTimeVKFriend friend = new BeaverTimeVKFriend();
            friend.friend = VKUser.Deserialize(item);
            friends.Add(friend);
        }

        inviteFriendsController.friendsDataSource = friends;

        if (inviteFriendsController.m_tableView.isActiveAndEnabled == true)
        {
            inviteFriendsController.m_tableView.ReloadData();
        }
    }
示例#3
0
    void OnGetUserData(VKRequest arg)
    {
        var dict  = Json.Deserialize(arg.response) as Dictionary <string, object>;
        var items = (List <object>)dict["response"];

        foreach (var item in items)
        {
            user = VKUser.Deserialize(item);
        }
        userObject.GetComponent <FriendManager>().t.text = user.first_name + " " + user.last_name;
        userObject.GetComponent <FriendManager>().friend = user;
        Action <DownloadRequest> doOnFinish = (downloadRequest) =>
        {
            var friendCard = (FriendManager)downloadRequest.CustomData[0];
            friendCard.setUpImage(downloadRequest.DownloadResult.texture);
        };
        var request = new DownloadRequest
        {
            url        = user.photo_200,
            onFinished = doOnFinish,
            CustomData = new object[] { userObject.GetComponent <FriendManager>() }
        };

        downloader.download(request);
    }
示例#4
0
        public void constructorTest()
        {
            VKUser         root  = new VKUser(29411485);
            VKFriendsQueue queue = new VKFriendsQueue(root);

            Assert.AreEqual(1, queue.UserCount, "Constructor doesn`t initialize VKFriendsQueue object correctly");
        }
示例#5
0
    void OnGet5FriendsCompleted(VkResponseRaw arg1, object[] arg2)
    {
        //проверяем на ошибки
        if (arg1.ei != null)
        {
            //если ошибка, помним что мы передали номер запроса, можно повторить запрос некоторое количество раз
            var attempt = (int)arg2[0];
            if (attempt < 5)
            {
                Get3FriendsDataFromVk(attempt + 1);
            }
            return;
        }

        var dict  = Json.Deserialize(arg1.text) as Dictionary <string, object>;
        var resp  = (Dictionary <string, object>)dict["response"];
        var items = (List <object>)resp["items"];

        foreach (var item in items)
        {
            friends.Add(VKUser.Deserialize(item));
        }
        for (var i = 0; i < 3; i++)
        {
            var friendsOnScene = GameObject.FindObjectsOfType <FriendManager>();

            Action <WWW, object[]> doOnFinish = (www, objarray) =>
            {
                var friendCard = (FriendManager)objarray[0];
                friendCard.setUpImage(www.bytes);
            };
            friendsOnScene[i].t.text = friends[i].first_name;
            d.download(friends[i].photo_200, doOnFinish, new object[] { friendsOnScene[i] });
        }
    }
示例#6
0
    void setUpCurrentUser(VKRequest request)
    {
        var dict  = Json.Deserialize(request.response) as Dictionary <string, object>;
        var users = (List <object>)dict["response"];
        var user  = VKUser.Deserialize(users [0]);

        _currentUser = user;
    }
        public async Task fetchFriendsTest2()
        {
            VKUser         user    = new VKUser(198489790);
            FriendsFetcher fetcher = new FriendsFetcher(user);
            List <VKUser>  result  = await fetcher.fetchFriends();

            Assert.AreNotEqual(0, result.Count, "Method fetchFriends() don`t find friends correctly");
        }
示例#8
0
        public void addUserTest2()
        {
            VKUser         root  = new VKUser(29411485);
            VKFriendsQueue queue = new VKFriendsQueue(root);
            VKUser         user  = new VKUser(141371820);

            queue.addUser(user);
            Assert.AreEqual(root, queue.Root, "Method addUser() doesn`t add user to queue correctly");
        }
示例#9
0
        public void getNextUserTest1()
        {
            int            expected = 0;
            VKUser         root     = new VKUser(29411485);
            VKFriendsQueue queue    = new VKFriendsQueue(root);

            queue.getNextUser();
            Assert.AreEqual(expected, queue.UserCount, "Method getNextUser() doesn`t extract user from queue correctly");
        }
示例#10
0
        public void getNextUserTest2()
        {
            VKUser         root     = new VKUser(29411485);
            VKUser         expected = root;
            VKFriendsQueue queue    = new VKFriendsQueue(root);
            VKUser         result   = queue.getNextUser();

            Assert.AreEqual(expected, result, "Method getNextUser() doesn`t extract user from queue correctly");
        }
        public void addChildTest1()
        {
            int    expected = 1;
            VKUser user     = new VKUser(29411485);
            VKUser child    = new VKUser(141371820);

            user.addChild(child);
            Assert.AreEqual(expected, user.Childs.Count, "Method addChild() doesn`t add child to user correctly");
        }
示例#12
0
        public void hasNextUserTrueTest()
        {
            bool           expected = true;
            VKUser         root     = new VKUser(29411485);
            VKFriendsQueue queue    = new VKFriendsQueue(root);
            bool           result   = queue.hasHextUser();

            Assert.AreEqual(expected, result, "Method hasNextUser() doesn`t find next user in queue correctly");
        }
示例#13
0
        public async Task getConnectionEmptyListTest()
        {
            List <VKUserViewData> list   = new List <VKUserViewData>();
            VKUser                start  = new VKUser(198489790);
            VKUser                target = new VKUser(0);
            VKConnectionFinder    finder = new VKConnectionFinder(start, target);
            List <VKUserViewData> result = await finder.getConnection();

            Assert.AreEqual(list.Count, result.Count, "Method getConnection() don`t look for connections correctly");
        }
        public void addChildTest3()
        {
            VKUser user     = new VKUser(29411485);
            VKUser child    = new VKUser(141371820);
            VKUser expected = user;

            user.addChild(child);
            VKUser result = child.Father;

            Assert.AreEqual(expected, result, "Method addChild() doesn`t add child to user correctly");
        }
示例#15
0
        public void containsUserFalseTest2()
        {
            bool           expected = false;
            VKUser         root     = new VKUser(29411485);
            VKFriendsQueue queue    = new VKFriendsQueue(root);
            VKUser         user     = new VKUser(141371820);

            queue.addUser(user);
            bool result = queue.containsUser(null);

            Assert.AreEqual(expected, result, "Method containsUser() doesn`t find user in queue correctly");
        }
示例#16
0
        public void getUserTest2()
        {
            VKUser         expected = null;
            VKUser         root     = new VKUser(29411485);
            VKFriendsQueue queue    = new VKFriendsQueue(root);
            VKUser         user     = new VKUser(141371820);

            queue.addUser(user);
            VKUser result = queue.getUser(1);

            Assert.AreEqual(expected, result, "Method getUser() doesn`t get user in queue correctly");
        }
        public async Task fetchFriendsTest1()
        {
            VKUser         user    = new VKUser(325145123);
            FriendsFetcher fetcher = new FriendsFetcher(user);
            List <VKUser>  friends = new List <VKUser>();

            friends.Add(new VKUser(27735856));
            friends.Add(new VKUser(59054252));
            List <VKUser> result = await fetcher.fetchFriends();

            Assert.AreEqual(friends[0].ID, result[0].ID, "Method fetchFriends() don`t find friends correctly");
            Assert.AreEqual(friends[1].ID, result[1].ID, "Method fetchFriends() don`t find friends correctly");
        }
示例#18
0
    //Will be called by the TableView when a cell needs to be created for display
    public TableViewCell GetCellForRowInTableView(TableView tableView, int row)
    {
        VKFriendCell cell = tableView.GetReusableCell(m_cellPrefab.reuseIdentifier) as VKFriendCell;

        if (cell == null)
        {
            cell = (VKFriendCell)GameObject.Instantiate(m_cellPrefab);
        }
        VKUser cellData = friendsDataSource[row].friend;

        cell.friendName.text = cellData.first_name + " " + cellData.last_name;

        if (friendsDataSource [row].invited == true)
        {
            cell.inviteImage.gameObject.SetActive(false);
        }
        else
        {
            cell.inviteImage.gameObject.SetActive(true);
        }

        Action <DownloadRequest> doOnFinish = (downloadRequest) =>
        {
            Texture2D tex = downloadRequest.DownloadResult.texture;

            if (cell.friendImage.sprite != null)
            {
                DestroyObject(cell.friendImage.sprite);
            }

            cell.friendImage.sprite = Sprite.Create(tex, new Rect(0, 0, 50, 50), new Vector2(0.5f, 0.5f));
        };

        _vkontakteGameController.loadImageWithUrlAndCallback(cellData.photo_50, doOnFinish);

        cell.inviteButton.onClick.RemoveAllListeners();
        cell.inviteButton.onClick.AddListener(() => {
            _vkontakteGameController.inviteFriend(cellData.id.ToString(), cellData.first_name, () => {
                cell.inviteImage.gameObject.SetActive(false);
                friendsDataSource[row].invited = true;
            });
        });

        return(cell);
    }
    public void OnGotUserInfo(VKRequest r)
    {
        if (r.error != null)
        {
            //hande error here
            Debug.Log(r.error.error_msg);
            return;
        }

        //now we need to deserialize response in json from vk server
        var dict  = Json.Deserialize(r.response) as Dictionary <string, object>;
        var users = (List <object>)dict["response"];
        var user  = VKUser.Deserialize(users [0]);

        Debug.Log("user id is " + user.id);
        Debug.Log("user name is " + user.first_name);
        Debug.Log("user last name is " + user.last_name);
    }
示例#20
0
    void OnGetFriendsCompleted(VKRequest arg)
    {
        if (arg.error != null)
        {
            FindObjectOfType <GlobalErrorHandler>().Notification.Notify(arg);
            return;
        }

        var dict  = Json.Deserialize(arg.response) as Dictionary <string, object>;
        var resp  = (Dictionary <string, object>)dict["response"];
        var items = (List <object>)resp["items"];

        foreach (var item in items)
        {
            friends.Add(VKUser.Deserialize(item));
        }
        nFriend = friends.Count;
        for (int i = 0; i < friends.Count; i++)
        {
            GameObject temp = Instantiate(friendPrefab);
            temp.transform.parent     = scrollContent.transform;
            temp.transform.localScale = new Vector3(1, 1, 1);
            temp.transform.rotation   = new Quaternion(0, 0, 0, 0);
        }
        var friendsOnScene = GameObject.FindObjectsOfType <FriendManager>();

        for (var i = 0; i < friends.Count; i++)
        {
            Action <DownloadRequest> doOnFinish = (downloadRequest) =>
            {
                var friendCard = (FriendManager)downloadRequest.CustomData[0];
                friendCard.setUpImage(downloadRequest.DownloadResult.texture);
            };
            friendsOnScene[i].t.text = friends[i].first_name + " " + friends[i].last_name;
            friendsOnScene[i].friend = friends[i];
            var request = new DownloadRequest
            {
                url        = friends[i].photo_200,
                onFinished = doOnFinish,
                CustomData = new object[] { friendsOnScene[i] }
            };
            downloader.download(request);
        }
    }
示例#21
0
        public async Task getConnectionTest2()
        {
            List <VKUserViewData> list     = new List <VKUserViewData>();
            UserInfoFetcher       fetcher1 = new UserInfoFetcher("deell1");
            UserInfoFetcher       fetcher2 = new UserInfoFetcher("deell1");
            VKUser         start           = new VKUser(198489790);
            VKUser         target          = new VKUser(198489790);
            VKUserViewData user1           = await fetcher1.fetchInfo();

            VKUserViewData user2 = await fetcher2.fetchInfo();

            list.Add(user1);
            list.Add(user2);
            VKConnectionFinder    finder = new VKConnectionFinder(start, target);
            List <VKUserViewData> result = await finder.getConnection();

            Assert.AreEqual(list.Count, result.Count, "Method getConnection() don`t look for connections correctly");
            Assert.AreEqual(list[0].Name, result[0].Name, "Method getConnection() don`t look for connections correctly");
            Assert.AreEqual(list[1].Name, result[1].Name, "Method getConnection() don`t look for connections correctly");
        }
示例#22
0
    void OnGet5FriendsCompleted(VKRequest arg1)
    {
        //проверяем на ошибки
        if (arg1.error != null)
        {
            FindObjectOfType <GlobalErrorHandler>().Notification.Notify(arg1);
            return;
        }

        var dict  = Json.Deserialize(arg1.response) as Dictionary <string, object>;
        var resp  = (Dictionary <string, object>)dict["response"];
        var items = (List <object>)resp["items"];

        foreach (var item in items)
        {
            friends.Add(VKUser.Deserialize(item));
        }
        for (var i = 0; i < friends.Count; i++)
        {
            var friendsOnScene = GameObject.FindObjectsOfType <FriendManager>();

            Action <DownloadRequest> doOnFinish = (downloadRequest) =>
            {
                var friendCard = (FriendManager)downloadRequest.CustomData[0];
                friendCard.setUpImage(downloadRequest.DownloadResult.texture);
            };
            friendsOnScene[i].t.text = friends[i].first_name + " " + friends[i].last_name;
            friendsOnScene[i].friend = friends[i];
            var request = new DownloadRequest
            {
                url        = friends[i].photo_200,
                onFinished = doOnFinish,
                CustomData = new object[] { friendsOnScene[i] }
            };
            d.download(request);
        }
    }
示例#23
0
    public void GetFriendsHandler(VkResponseRaw _raw, object[] _arguments)
    {
        if (_raw.ei == null)
        {
            List <VKUser>             FriendsData = new List <VKUser>();
            Dictionary <long, VKUser> Users       = new Dictionary <long, VKUser>();


            Debug.Log("vk: " + _raw.text);

            try
            {
                var dict     = Json.Deserialize(_raw.text) as Dictionary <string, object>;
                var response = (object)dict["response"] as Dictionary <string, object>;


                var items = (List <object>)response["items"];

                foreach (var item in items)
                {
                    FriendsData.Add(VKUser.Deserialize(item));
                }
                //   var friendsResponse = JsonReader.Deserialize < VkResponse < VKList < VKUser»> (_raw.text);

                //     if (friendsResponse.response.items.Count > 0)
                //       FriendsData.AddRange(friendsResponse.response.items);
            }
            catch
            {
                //     ExternalControl.VK_WallPostHandler(0);

                return;
            }

            int FriendsCount = FriendsData.Count;

            if (FriendsCount > 0)
            {
                if (FriendsCount > 3)
                {
                    int PassCount = 0;

                    while (Users.Count < 3)
                    {
                        for (var i = 0; i < FriendsData.Count; i++)
                        {
                            VKUser UserData = FriendsData[i];

                            bool HasMobile = (UserData.has_mobile == 1);
                            bool NowOnline = (UserData.online == 1);
                            bool Man       = (UserData.sex == 2);

                            bool PassCondition = false;

                            switch (PassCount)
                            {
                            case 0:
                                PassCondition = NowOnline && HasMobile && Man;
                                break;

                            case 1:
                                PassCondition = NowOnline && HasMobile;
                                break;

                            case 2:
                                PassCondition = HasMobile;
                                break;

                            case 3:
                                PassCondition = true;
                                break;
                            }

                            if (PassCondition && !Users.ContainsKey(UserData.id))
                            {
                                if (Users.Count < 3)
                                {
                                    Users.Add(UserData.id, UserData);
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }

                        PassCount++;
                    }

                    FriendsCount = 3;
                }
                else
                {
                    for (var i = 0; i < FriendsData.Count; i++)
                    {
                        VKUser UserData = FriendsData[i];

                        Users.Add(UserData.id, UserData);
                    }
                }
            }

            string _friends = "";

            if (Users.Count > 0)
            {
                foreach (KeyValuePair <long, VKUser> _item in Users)
                {
                    _friends += string.Format("[id{0}|{1}], ", _item.Key, _item.Value.first_name + " " + _item.Value.last_name);
                }

                _friends = _friends.Substring(0, _friends.Length - 2);
            }

            //need develop
            WallPostRequest(_friends);
        }
        else
        {
            Debug.Log("vk error: " + _raw.ei.error_msg);
        }
    }