Пример #1
0
            public override void EnterState()
            {
                var crashContainer = m_Provider.rootVisualElement.Q(k_CloudDiagCrashStateName);

                crashContainer?.Clear();
                m_Provider.UpdateServiceToggleAndDashboardLink(CrashService.instance.IsServiceEnabled());

                m_Provider.HandlePermissionRestrictedControls();
            }
Пример #2
0
            public override void EnterState()
            {
                //If we haven't received new bound info, fetch them
                var generalTemplate = EditorGUIUtility.Load(k_CloudDiagCrashEnabledUxmlPath) as VisualTreeAsset;
                var crashContainer  = m_Provider.rootVisualElement.Q(k_CloudDiagCrashStateName);

                if ((generalTemplate != null) && (crashContainer != null))
                {
                    var newVisual = generalTemplate.CloneTree().contentContainer;
                    ServicesUtils.TranslateStringsInTree(newVisual);
                    crashContainer.Clear();
                    crashContainer.Add(newVisual);

                    var capturePlayMode = crashContainer.Q <Toggle>(k_CrashCapturePlayMode);
                    if (capturePlayMode != null)
                    {
                        capturePlayMode.SetValueWithoutNotify(CrashReportingSettings.captureEditorExceptions);
                        capturePlayMode.RegisterValueChangedCallback(evt =>
                        {
                            CrashReportingSettings.captureEditorExceptions = evt.newValue;
                        });
                    }

                    var logBufferSize = crashContainer.Q <IntegerField>(k_CrashBufferLogCount);
                    if (logBufferSize != null)
                    {
                        logBufferSize.SetValueWithoutNotify((int)CrashReportingSettings.logBufferSize);
                        logBufferSize.RegisterValueChangedCallback(evt =>
                        {
                            var newValue    = evt.newValue;
                            var updateValue = false;

                            if (evt.newValue < k_CrashBufferLogMinimum)
                            {
                                newValue    = k_CrashBufferLogMinimum;
                                updateValue = true;
                            }
                            else if (evt.newValue > k_CrashBufferLogMaximum)
                            {
                                newValue    = k_CrashBufferLogMaximum;
                                updateValue = true;
                            }

                            CrashReportingSettings.logBufferSize = (uint)newValue;
                            if (updateValue)
                            {
                                logBufferSize.SetValueWithoutNotify(newValue);
                            }
                        });
                        m_Provider.UpdateServiceToggleAndDashboardLink(CrashService.instance.IsServiceEnabled());
                    }

                    m_Provider.HandlePermissionRestrictedControls();
                }
            }