Exemple #1
0
        void RefreshUI()
        {
            if (m_ContentContainer == null)
            {
                return;
            }

            m_ContentContainer.Clear();
            m_CurrentVisual?.Dispose();

            var projectState = new ProjectStateRequest().GetProjectState();

            if (!EditorGameServiceSettingsProvider.IsUserOnline(projectState))
            {
                m_CurrentVisual = CreateVisual <OfflineVisual>(RefreshUI);
            }
            else if (!EditorGameServiceSettingsProvider.IsUserLoggedIn(projectState))
            {
                m_CurrentVisual = CreateVisual <LoggedOutVisual>(RefreshUI);
            }
            else if (!EditorGameServiceSettingsProvider.IsProjectBound(projectState) ||
                     EditorGameServiceRegistry.Instance.UserRoleHandler.CurrentUserRole == UserRole.Unknown)
            {
                m_CurrentVisual = CreateVisual <ProjectBindAndUserRequestVisual>(OnUserRoleRequestVisualDone);
            }
            else
            {
                ShowPostUserRequestUi(projectState);
            }

            EditorGameServiceSettingsProvider.TranslateStringsInTree(m_ContentContainer);
        }
        void SetupUserRequest(VisualElement buttonsContainer, ProjectState projectState)
        {
            CreateVisual(out m_UserRequestVisual, out m_UserRequestContainer, buttonsContainer,
                         ServiceActivationPopupVisual.UxmlClassNames.UserRequestContainer, EndVisual);

            if (EditorGameServiceSettingsProvider.IsProjectBound(projectState))
            {
                ShowUserRequest();
            }
        }
        void SetupProjectBind(VisualElement buttonsContainer, ProjectState projectState)
        {
            CreateVisual(out m_ProjectBindVisual, out m_ProjectBindContainer, buttonsContainer,
                         ServiceActivationPopupVisual.UxmlClassNames.ProjectBindContainer, OnProjectBindDone);

            VisualElementHelper.SetDisplayStyle(m_ProjectBindContainer,
                                                EditorGameServiceSettingsProvider.IsProjectBound(projectState)
                ? DisplayStyle.None
                : DisplayStyle.Flex);
        }
Exemple #4
0
 void OnUserRoleRequestVisualDone()
 {
     if (EditorGameServiceSettingsProvider.IsUserAllowedToEditCoppaCompliance(
             EditorGameServiceRegistry.Instance.UserRoleHandler.CurrentUserRole))
     {
         RefreshUI();
     }
     else
     {
         Done?.Invoke();
     }
 }
Exemple #5
0
 void ShowPostUserRequestUi(ProjectState projectState)
 {
     if (EditorGameServiceSettingsProvider.IsUserAllowedToEditCoppaCompliance(
             EditorGameServiceRegistry.Instance.UserRoleHandler.CurrentUserRole))
     {
         ShowCoppaComplianceOrActivationConfirmation(projectState);
     }
     else
     {
         m_CurrentVisual = CreateVisual <InsufficientPermissionVisual>(OnEndConfirmationDone);
     }
 }
Exemple #6
0
        bool ShouldShowCoppaCompliance()
        {
            bool output = false;

            foreach (var operateService in m_Services)
            {
                if (!EditorGameServiceSettingsProvider.IsCoppaComplianceMet(operateService, CloudProjectSettings.coppaCompliance))
                {
                    output = true;
                    break;
                }
            }

            return(output);
        }
        void OnUserRoleRequestCompleted(UserRole userRole)
        {
            EditorGameServiceRegistry.Instance.UserRoleHandler.UserRoleRequestCompleted -= OnUserRoleRequestCompleted;

            UserRole = userRole;
            if (EditorGameServiceSettingsProvider.IsUserAllowedToEditCoppaCompliance(UserRole))
            {
                Done?.Invoke();
            }
            else
            {
                SetupLabelText(Messages.InsufficientPermission);

                if (m_NoPermissionButton != null)
                {
                    m_NoPermissionButton.style.display      = DisplayStyle.Flex;
                    m_NoPermissionButton.clickable.clicked += OnNoPermissionButtonClicked;
                }
            }
        }