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 ShowPostUserRequestUi(ProjectState projectState) { if (EditorGameServiceSettingsProvider.IsUserAllowedToEditCoppaCompliance( EditorGameServiceRegistry.Instance.UserRoleHandler.CurrentUserRole)) { ShowCoppaComplianceOrActivationConfirmation(projectState); } else { m_CurrentVisual = CreateVisual <InsufficientPermissionVisual>(OnEndConfirmationDone); } }
void ShowCoppaComplianceOrActivationConfirmation(ProjectState projectState) { if (ShouldShowCoppaCompliance()) { m_CurrentVisual = CreateVisual <CoppaVisual>(OnCoppaVisualDone); } else { if (IsUserAllowedToEnableServices(projectState)) { m_CurrentVisual = CreateVisual <ServiceActivationConfirmationVisual>(OnEndConfirmationDone); m_CurrentVisual.Done += OnEndConfirmationDone; } else { m_CurrentVisual = CreateVisual <InsufficientPermissionVisual>(OnEndConfirmationDone); } } }