Пример #1
0
    public void challengeFriendButtonClicked(Button b)
    {
        ChallengeFriendButtonScript cfbs = b.GetComponent <ChallengeFriendButtonScript>();
        ParseUser playerChallenged       = cfbs.opponent;

        Debug.Log("challenging " + playerChallenged.Username);
        StartCoroutine("ChallengeFriend", playerChallenged);
    }
Пример #2
0
    public IEnumerator RetrieveFriends()
    {
        //get count of matches waiting
        ParseQuery <ParseObject> mainQuery = new ParseQuery <ParseObject> ("FriendRelationship").Include("friend").WhereEqualTo("player", ParseUser.CurrentUser);
        var find = mainQuery.FindAsync();

        while (!find.IsCompleted)
        {
            yield return(null);
        }
        IEnumerable <ParseObject> results = find.Result;

        int counter             = 0;
        int initialY            = 0;
        int newScrollContainerY = -990;
        var scrollContainer     = GameObject.Find("FindMatchScrollContent").GetComponent <RectTransform>();

        scrollContainer.sizeDelta = new Vector2(200, 1980);

        foreach (ParseObject p in results)
        {
            //Get opponentUserName name
            ParseUser playerFriend = p["friend"] as ParseUser;

            //Instantiate button
            GameObject challengeFriendButtonInstance = Instantiate(ChallengeFriendButton, new Vector3(0, initialY, 0), transform.rotation) as GameObject;
            challengeFriendButtonInstance.transform.SetParent(GameObject.Find("Friends").transform, false);
            Text challengeFriendButtonText = challengeFriendButtonInstance.GetComponentInChildren <Text>();
            challengeFriendButtonText.text = "Challenge " + playerFriend["displayName"];

            //Store match object and current opponentUserName on button
            ChallengeFriendButtonScript cfbs = challengeFriendButtonInstance.GetComponent <ChallengeFriendButtonScript>();
            cfbs.opponent = playerFriend;

            //Add click event
            Button challengeFriendButton = challengeFriendButtonInstance.GetComponent <Button>();
            addClickEvent(challengeFriendButton);

            //increment position
            counter++;
            initialY            -= 180;
            newScrollContainerY -= 180;
            if (counter > 5)
            {
                var currentScrollContainerHeight = scrollContainer.sizeDelta.y;
                scrollContainer.sizeDelta = new Vector2(200, currentScrollContainerHeight + 180);
            }
            scrollContainer.position = new Vector3(scrollContainer.position.x, newScrollContainerY, scrollContainer.position.z);
        }
    }
Пример #3
0
    private IEnumerator FindUser(string username)
    {
        GameObject [] challengerPlayerButtons = GameObject.FindGameObjectsWithTag("ChallengePlayerButton");
        foreach (GameObject g in challengerPlayerButtons)
        {
            Destroy(g);
        }
        statusText.text = "Searching...";
        showStatusText  = true;

        ParseQuery <ParseUser> query = new ParseQuery <ParseUser>("_User").WhereStartsWith("username", username).WhereNotEqualTo("username", ParseUser.CurrentUser.Username);
        var find = query.FindAsync();

        while (!find.IsCompleted)
        {
            yield return(null);
        }
        if (find.IsCanceled || find.IsFaulted)
        {
            Debug.Log(find.Exception.InnerExceptions[0]);
        }
        IEnumerable <ParseUser> results = find.Result;

        //reset variables for these results
        showStatusText = false;
        bool hasResults          = false;
        int  counter             = 0;
        int  initialY            = 0;
        int  newScrollContainerY = -990;
        var  scrollContainer     = GameObject.Find("PlayersScrollContent").GetComponent <RectTransform>();

        scrollContainer.sizeDelta = new Vector2(200, 1980);

        //iterate results
        foreach (ParseUser user in results)
        {
            hasResults = true;
            GameObject challengeFriendButtonInstance = Instantiate(ChallengeFriendButton, new Vector3(0, initialY, 0), transform.rotation) as GameObject;
            challengeFriendButtonInstance.transform.SetParent(GameObject.Find("Players").transform, false);
            challengeFriendButtonInstance.tag = "ChallengePlayerButton";
            Text challengeFriendButtonText = challengeFriendButtonInstance.GetComponentInChildren <Text>();
            //Set button text based on status
            challengeFriendButtonText.text = "Challenge " + user["displayName"];
            //Store match object and current opponentUserName on button
            ChallengeFriendButtonScript cfbs = challengeFriendButtonInstance.GetComponent <ChallengeFriendButtonScript>();
            cfbs.opponent = user;

            //Add click event
            Button challengeFriendButton = challengeFriendButtonInstance.GetComponent <Button>();
            addClickEvent(challengeFriendButton);

            //increment position
            counter++;
            initialY            -= 180;
            newScrollContainerY -= 180;
            if (counter > 5)
            {
                var currentScrollContainerHeight = scrollContainer.sizeDelta.y;
                scrollContainer.sizeDelta = new Vector2(200, currentScrollContainerHeight + 180);
            }
            scrollContainer.position = new Vector3(scrollContainer.position.x, newScrollContainerY, scrollContainer.position.z);
        }

        //if no players found, show text
        if (!hasResults)
        {
            showStatusText  = true;
            statusText.text = "No players found...";
        }
    }