private void LoadFriends() { //Return if not signedIn. if (!PlayGamesPlatform.Instance.IsAuthenticated()) { m_Message.text = "Please Sign In."; return; } LoadFriendsStatus lfs = PlayGamesPlatform.Instance.GetLastLoadFriendsStatus(); PlayGamesPlatform.Instance.GetFriendsListVisibility(/* forceReload= */ true, friendsListVisibilityStatus => { mFriendsListVisibilityStatus = friendsListVisibilityStatus; }); switch (mFriendsListVisibilityStatus) { case FriendsListVisibilityStatus.Visible: //Arg0 - Page Size PlayGamesPlatform.Instance.LoadFriends(1, false, (result) => { int numOfFriends = 0; foreach (IUserProfile friends in Social.localUser.friends) { //friends.userName //Create Object GameObject go = Instantiate <GameObject>(m_FriendListPrefab); go.transform.SetParent(m_FriendListContent, false); go.GetComponent <FriendListItem>().setUp(numOfFriends, friends.userName); numOfFriends++; } }); break; case FriendsListVisibilityStatus.ResolutionRequired: PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => { if (result == UIStatus.Valid) { m_Message.text = "Agree"; } else { m_Message.text = result.ToString(); } }); break; case FriendsListVisibilityStatus.Unknown: m_Message.text = "Unknow. Try Again"; break; } Debug.Log("Load Friends Status : " + lfs.ToString()); }
internal void OnGUI() { float height = Screen.height / 11f; GUILayout.BeginVertical(GUILayout.Height(Screen.height), GUILayout.Width(Screen.width)); GUILayout.Label("SmokeTest: Friends", GUILayout.Height(height)); GUILayout.Label("Friend List Visibility Status: " + mFriendsListVisibilityStatus, GUILayout.Height(height)); GUILayout.Label("Number of friends loaded: " + Social.localUser.friends.Length, GUILayout.Height(height)); GUILayout.Label("Load Friends Status: " + PlayGamesPlatform.Instance.GetLastLoadFriendsStatus(), GUILayout.Height(height)); string firstFriend = ""; string firstFriendId = ""; if (Social.localUser.friends.Length > 0) { firstFriend = Social.localUser.friends[0].userName; firstFriendId = Social.localUser.friends[0].id; } GUILayout.Label("First Friend: " + firstFriend, GUILayout.Height(height)); GUILayout.BeginHorizontal(GUILayout.Height(height)); if (GUILayout.Button("Back", GUILayout.ExpandHeight(true), GUILayout.Height(height), GUILayout.ExpandWidth(true))) { mOwner.SetUI(MainGui.Ui.Main); } GUILayout.EndHorizontal(); GUILayout.Space(50f); GUILayout.BeginHorizontal(GUILayout.Height(height)); if (mFriendsListVisibilityStatus == FriendsListVisibilityStatus.Unknown) { PlayGamesPlatform.Instance.GetFriendsListVisibility(/* forceReload= */ true, friendsListVisibilityStatus => { mFriendsListVisibilityStatus = friendsListVisibilityStatus; }); } // Show friends paginated if (GUILayout.Button("Load Friends", GUILayout.ExpandHeight(true), GUILayout.Height(height), GUILayout.ExpandWidth(true))) { PlayGamesPlatform.Instance.LoadFriends(2, /* forceReload= */ false, /* callback= */ null); } if (GUILayout.Button("Load More Friends", GUILayout.ExpandHeight(true), GUILayout.Height(height), GUILayout.ExpandWidth(true))) { PlayGamesPlatform.Instance.LoadMoreFriends(2, /* callback= */ null); } GUILayout.EndHorizontal(); GUILayout.Space(50f); GUILayout.BeginHorizontal(GUILayout.Height(height)); if (GUILayout.Button("Load All Friends", GUILayout.ExpandHeight(true), GUILayout.Height(height), GUILayout.ExpandWidth(true))) { Social.localUser.LoadFriends(/* callback= */ null); } if (GUILayout.Button("AskForLoadFriendsResolution", GUILayout.ExpandHeight(true), GUILayout.Height(height), GUILayout.ExpandWidth(true))) { PlayGamesPlatform.Instance.AskForLoadFriendsResolution(status => { // Will be updated next OnGui call mFriendsListVisibilityStatus = FriendsListVisibilityStatus.Unknown; }); } GUILayout.EndHorizontal(); GUILayout.Space(50f); GUILayout.BeginHorizontal(GUILayout.Height(height)); if (Social.localUser.friends.Length > 0) { if (GUILayout.Button("Show Profile: " + firstFriend, GUILayout.ExpandHeight(true), GUILayout.Height(height), GUILayout.ExpandWidth(true))) { PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI( firstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null, /* callback= */ null); } } GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); }