public void challengeFriendButtonClicked(Button b) { ChallengeFriendButtonScript cfbs = b.GetComponent <ChallengeFriendButtonScript>(); ParseUser playerChallenged = cfbs.opponent; Debug.Log("challenging " + playerChallenged.Username); StartCoroutine("ChallengeFriend", playerChallenged); }
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); } }
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..."; } }