void OnConnectionStateChanged(RoomConnectionStateData applicationData) { m_MatchmakerIds = applicationData.users.Select(u => u.matchmakerId).ToArray(); if (m_DialogWindow.open) { UpdateList(m_MatchmakerIds); } }
private void OnConnectionStateChanged(RoomConnectionStateData obj) { if (obj.localUser.networkUser != m_User) { m_User = obj.localUser.networkUser; rootNode = UIStateManager.current.m_RootNode.transform; } }
void OnRoomConnectionStateChanged(RoomConnectionStateData data) { // Check if current user had change Id var matchmakerId = UIStateManager.current.roomConnectionStateData.localUser.matchmakerId; if (!string.IsNullOrEmpty(matchmakerId) && m_CurrentUserId != matchmakerId) { m_CurrentUserId = matchmakerId; } }
void OnConnectionStateChanged(RoomConnectionStateData connectionState) { var userIds = connectionState.users.Select(u => u.matchmakerId); if (EnumerableExtension.SafeSequenceEquals(m_UserIds, userIds)) { m_UserIds = userIds; m_CollaboratorsList.UpdateUserList(m_UserIds.ToArray()); } }
void OnConnectionStateChanged(RoomConnectionStateData applicationData) { UpdateUser(MatchmakerId); }
void OnRoomConnectionStateChanged(RoomConnectionStateData data) { // Check if current user had change Id var matchmakerId = UIStateManager.current.roomConnectionStateData.localUser.matchmakerId; if (!string.IsNullOrEmpty(matchmakerId) && m_CurrentUserId != matchmakerId) { if (m_SelectedDatas.Any(s => s.userId == m_CurrentUserId)) { var selectedData = m_SelectedDatas.First(s => s.userId == m_CurrentUserId); var selectedObject = selectedData.selectedObject; //Unselect current local selection var info = new ObjectSelectionInfo(); info.currentIndex = 0; info.selectedObjects = new List <GameObject>(); info.userId = m_CurrentUserId; info.colorId = 0; Dispatcher.Dispatch(Payload <ActionTypes> .From(ActionTypes.SelectObjects, info)); m_CurrentUserId = matchmakerId; //Reselect it with new id info.userId = matchmakerId; info.selectedObjects = new List <GameObject>() { selectedObject }; Dispatcher.Dispatch(Payload <ActionTypes> .From(ActionTypes.SelectObjects, info)); } else { m_CurrentUserId = matchmakerId; } } foreach (var user in data.users) { // Check if a user had already a selected object if (m_SelectedDatas.Any(s => s.userId == user.matchmakerId)) { var selectedData = m_SelectedDatas.First(s => s.userId == user.matchmakerId); if (selectedData.selectedObject != user.selectedObject) { m_SelectedDatas.Remove(selectedData); } else { continue; } } if (user.selectedObject != null) { var userIdentity = UIStateManager.current.GetUserIdentityFromSession(user.matchmakerId); m_SelectedDatas.Add(new SelectionData { userId = user.matchmakerId, selectedObject = user.selectedObject, colorId = (userIdentity.colorIndex + 1) }); } } // Check for disconnected users with ongoing selection List <SelectionData> missingUserDatas = new List <SelectionData>(); foreach (var selectedData in m_SelectedDatas) { if (selectedData.userId == m_CurrentUserId) { continue; } if (!data.users.Any(u => u.matchmakerId == selectedData.userId)) { missingUserDatas.Add(selectedData); } } foreach (var missingUserData in missingUserDatas) { m_SelectedDatas.Remove(missingUserData); } UpdateMultiSelection(); }
void OnRoomDataChanged(RoomConnectionStateData obj) { UpdateIcon(); }