public void CreateSocialGroupFromListWithOneUser() { List <ulong> userIds = Enumerable.Range(1, 10).Select(i => (ulong)i).ToList(); var users = userIds.Select(id => new XboxSocialUser { XboxUserId = id, Gamertag = "Gamer" + id }).ToDictionary(u => u.XboxUserId); XboxSocialUserGroup group = new XboxSocialUserGroup(this.user, new List <ulong> { 123456789 }); Assert.AreEqual(0, group.Count); group.UpdateView(users, null); Assert.AreEqual(0, group.Count); group.UpdateView( new Dictionary <ulong, XboxSocialUser> { [123456789] = new XboxSocialUser { XboxUserId = 123456789 } }, null); Assert.AreEqual(1, group.Count); }
/// <summary> /// /// </summary> public void RetrieveFriends() { if (!m_signedIn) { return; } m_group = SocialManager.Instance.CreateSocialUserGroupFromFilters(m_user, PresenceFilter.All, RelationshipFilter.Friends, m_context.AppConfig.TitleId); this.OnPropertyChanged("Group"); }
public void CreateSocialGroupFromFilters(XboxLiveUser user, PresenceFilter presenceFilter, RelationshipFilter relationshipFilter) { XboxSocialUserGroup socialUserGroup = m_socialManager.CreateSocialUserGroupFromFilters(user, presenceFilter, relationshipFilter); lock (m_socialManager) { m_socialUserGroups.Add(socialUserGroup); } }
private void CreateDefaultSocialGraphs() { XboxSocialUserGroup allSocialUserGroup = XboxLive.Instance.SocialManager.CreateSocialUserGroupFromFilters(this.XboxLiveUser.User, PresenceFilter.All, RelationshipFilter.Friends); this.socialUserGroups.Add(0, allSocialUserGroup); XboxSocialUserGroup allOnlineSocialUserGroup = XboxLive.Instance.SocialManager.CreateSocialUserGroupFromFilters(this.XboxLiveUser.User, PresenceFilter.AllOnline, RelationshipFilter.Friends); this.socialUserGroups.Add(1, allOnlineSocialUserGroup); }
private void LoadProfileInfo(bool userAdded = true) { this.gamertag.text = this.XboxLiveUser.User.Gamertag; if (userAdded) { userGroup = SocialManager.SingletonInstance.CreateSocialUserGroupFromList(this.XboxLiveUser.User, new List <string> { this.XboxLiveUser.User.XboxUserId }); } }
public void AddUser(XboxLiveUser user) { lock (m_socialManager) { if (m_user == null) { m_user = user; m_context = new XboxLiveContext(user); m_socialManager.AddLocalUser(user, SocialManagerExtraDetailLevel.NoExtraDetail); m_socialManagerUserGroup = m_socialManager.CreateSocialUserGroupFromFilters(m_user, PresenceFilter.All, RelationshipFilter.Friends); LogLine("Adding user from graph"); } } }
/// <summary> /// Load the leaderboard result data from the service into the view. /// </summary> /// <param name="result"></param> private void LoadResult(LeaderboardResult result) { if (this.stat == null || (result.HasNext && (this.stat.ID != result.GetNextQuery().StatName || this.socialGroup != result.GetNextQuery().SocialGroup))) { return; } this.leaderboardData = result; uint displayCurrentPage = this.currentPage + 1; if (this.leaderboardData.TotalRowCount == 0) { this.totalPages = 0; displayCurrentPage = 0; } else if (this.totalPages == 0) { this.totalPages = (uint)Mathf.Ceil(this.leaderboardData.TotalRowCount / this.entryCount); } this.pageText.text = string.Format("Page: {0} / {1}", displayCurrentPage, this.totalPages); while (this.contentPanel.childCount > 0) { var entry = this.contentPanel.GetChild(0).gameObject; this.entryObjectPool.ReturnObject(entry); } var xuids = new List <string>(); foreach (LeaderboardRow row in this.leaderboardData.Rows) { xuids.Add(row.XboxUserId); GameObject entryObject = this.entryObjectPool.GetObject(); LeaderboardEntry entry = entryObject.GetComponent <LeaderboardEntry>(); entry.Data = row; entryObject.transform.SetParent(this.contentPanel); } userGroup = SocialManager.SingletonInstance.CreateSocialUserGroupFromList(XboxLiveUserManager.Instance.UserForSingleUserMode.User, xuids); // Reset the scroll view to the top. this.scrollRect.verticalNormalizedPosition = 1; this.UpdateButtons(); }
public void CreateOrUpdateSocialGroupFromList(XboxLiveUser user, List <string> xuidList) { foreach (XboxSocialUserGroup userGroup in m_socialUserGroups) { if (userGroup.LocalUser.XboxUserId == user.XboxUserId && userGroup.SocialUserGroupType == SocialUserGroupType.UserListType) { m_socialManager.UpdateSocialUserGroup(userGroup, xuidList); return; } } if (xuidList.Count > 0) { XboxSocialUserGroup socialUserGroup = m_socialManager.CreateSocialUserGroupFromList(user, xuidList); lock (m_socialManager) { m_socialUserGroups.Add(socialUserGroup); } } }
public void RemoveUser(XboxLiveUser user) { lock (m_socialManager) { if (m_socialManagerUserGroup != null) { m_socialManager.DestroySocialUserGroup(m_socialManagerUserGroup); m_socialManagerUserGroup = null; } if (m_user != null) { m_socialManager.RemoveLocalUser(m_user); m_user = null; LogLine("Removing user from graph"); } m_context = null; } }
private void LoadProfileInfo(bool userAdded = true) { this.gamertag.text = this.xboxLiveUser.Gamertag; if (userAdded) { try { userGroup = XboxLive.Instance.SocialManager.CreateSocialUserGroupFromList(this.xboxLiveUser, new List <string> { this.xboxLiveUser.XboxUserId }); } catch (Exception ex) { ExceptionManager.Instance.ThrowException( ExceptionSource.PlayerAuthentication, ExceptionType.CreateSocialUserGroupFailed, ex); } } }
private void LoadProfileInfo(bool userAdded = true) { this.gamertag.text = this.xboxLiveUser.Gamertag; if (userAdded) { try { userGroup = XboxLive.Instance.SocialManager.CreateSocialUserGroupFromList(this.xboxLiveUser, new List <string> { this.xboxLiveUser.XboxUserId }); } catch (Exception ex) { if (XboxLiveServicesSettings.Instance.DebugLogsOn) { Debug.LogError("Exception occured: " + ex.Message); } } } }
public void CreateSocialGroupFromListWithManyUsers() { List <ulong> userIds = Enumerable.Range(1, 20).Select(i => (ulong)i).ToList(); var users = userIds.Select(id => new XboxSocialUser { XboxUserId = id, Gamertag = "Gamer" + id }).ToDictionary(u => u.XboxUserId); XboxSocialUserGroup group = new XboxSocialUserGroup(this.user, new List <ulong>(userIds)); Assert.AreEqual(0, group.Count); // Update half the users group.UpdateView(users.Values.Where(u => u.XboxUserId % 2 == 0).ToDictionary(u => u.XboxUserId), null); Assert.AreEqual(10, group.Count); // Then update the rest. group.UpdateView(users, null); Assert.AreEqual(20, group.Count); // Ensure we don't accidentally double add anything. group.UpdateView(users, null); Assert.AreEqual(20, group.Count); }
public void CreateSocialGroupFromListWithNoUsers() { XboxSocialUserGroup group = new XboxSocialUserGroup(this.user, new List <ulong>()); }
/// <summary> /// Load the leaderboard result data from the service into the view. /// </summary> /// <param name="result"></param> private void LoadResult(LeaderboardResult result) { if (this.stat == null || (result.HasNext && (this.stat.ID != result.GetNextQuery().StatName || this.socialGroup != result.GetNextQuery().SocialGroup))) { return; } this.leaderboardData = result; uint displayCurrentPage = this.currentPage + 1; if (this.leaderboardData.TotalRowCount == 0) { this.totalPages = 0; displayCurrentPage = 0; } else if (this.totalPages == 0) { this.totalPages = this.leaderboardData.TotalRowCount / this.entryCount; } this.pageText.text = string.Format("{0} | {1}", displayCurrentPage, Mathf.Max(displayCurrentPage, this.totalPages)); this.Clear(); IList <string> xuids = new List <string>(); var rowCount = 0; foreach (LeaderboardRow row in this.leaderboardData.Rows) { xuids.Add(row.XboxUserId); GameObject entryObject = this.entryObjectPool.GetObject(); PlayerProfile entry = entryObject.GetComponent <PlayerProfile>(); entry.Theme = this.Theme; entry.IsCurrentPlayer = this.xboxLiveUser != null && row.Gamertag.Equals(this.xboxLiveUser.Gamertag); entry.BackgroundColor = ((rowCount % 2 == 0) ? PlayerProfileBackgrounds.RowBackground02 : PlayerProfileBackgrounds.RowBackground01); entry.UpdateGamerTag(row.Gamertag); entry.UpdateRank(true, row.Rank); if (row.Values != null && row.Values.Count > 0) { entry.UpdateScore(true, row.Values[0]); } this.StartCoroutine(entry.Reload()); entryObject.transform.SetParent(this.contentPanel); this.currentEntries.Add(entry); rowCount++; entryObject.transform.localScale = Vector3.one; } if (xuids.Count > 0) { userGroup = XboxLive.Instance.SocialManager.CreateSocialUserGroupFromList(this.xboxLiveUser, xuids); } // Reset the scroll view to the top. this.scrollRect.verticalNormalizedPosition = 1; this.UpdateButtons(); }