コード例 #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);
        }
コード例 #2
0
        void SetupUserRequest(VisualElement buttonsContainer, ProjectState projectState)
        {
            CreateVisual(out m_UserRequestVisual, out m_UserRequestContainer, buttonsContainer,
                         ServiceActivationPopupVisual.UxmlClassNames.UserRequestContainer, EndVisual);

            if (EditorGameServiceSettingsProvider.IsProjectBound(projectState))
            {
                ShowUserRequest();
            }
        }
コード例 #3
0
        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);
        }