UnityEditor.LookDevSettingsWindow.OnGUI C# (CSharp) Method

OnGUI() public method

public OnGUI ( Rect rect ) : void
rect UnityEngine.Rect
return void
        public override void OnGUI(Rect rect)
        {
            if (this.m_LookDevView != null)
            {
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                EditorGUIUtility.labelWidth = 130f;
                EditorGUIUtility.fieldWidth = 35f;
                this.DrawHeader(styles.sMultiView);
                for (int i = 0; i < 5; i++)
                {
                    EditorGUI.BeginChangeCheck();
                    bool flag = GUILayout.Toggle(this.m_LookDevView.config.lookDevMode == i, styles.sMultiViewMode[i], styles.sMenuItem, new GUILayoutOption[0]);
                    if (EditorGUI.EndChangeCheck())
                    {
                        this.m_LookDevView.UpdateLookDevModeToggle((LookDevMode) i, flag);
                        this.m_LookDevView.Repaint();
                        GUIUtility.ExitGUI();
                    }
                }
                this.DrawSeparator();
                this.DrawHeader(styles.sCamera);
                if (GUILayout.Button(styles.sResetCamera, styles.sMenuItem, new GUILayoutOption[0]))
                {
                    this.m_LookDevView.Frame();
                }
                this.m_LookDevView.config.enableToneMap = GUILayout.Toggle(this.m_LookDevView.config.enableToneMap, styles.sEnableToneMap, styles.sMenuItem, new GUILayoutOption[0]);
                EditorGUI.BeginChangeCheck();
                float num2 = EditorGUILayout.IntSlider(styles.sExposureRange, (int) this.m_LookDevView.config.exposureRange, 1, 0x20, new GUILayoutOption[0]);
                if (EditorGUI.EndChangeCheck())
                {
                    Undo.RecordObject(this.m_LookDevView.config, "Change exposure range");
                    this.m_LookDevView.config.exposureRange = num2;
                }
                this.DrawSeparator();
                this.DrawHeader(styles.sLighting);
                EditorGUI.BeginChangeCheck();
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                this.m_LookDevView.config.enableShadowCubemap = GUILayout.Toggle(this.m_LookDevView.config.enableShadowCubemap, styles.sEnableShadows, styles.sMenuItem, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
                if (EditorGUI.EndChangeCheck())
                {
                    this.m_LookDevView.Repaint();
                }
                EditorGUI.BeginChangeCheck();
                float num3 = EditorGUILayout.Slider(styles.sShadowDistance, this.m_LookDevView.config.shadowDistance, 0f, 1000f, new GUILayoutOption[0]);
                if (EditorGUI.EndChangeCheck())
                {
                    Undo.RecordObject(this.m_LookDevView.config, "Change shadow distance");
                    this.m_LookDevView.config.shadowDistance = num3;
                }
                this.DrawSeparator();
                this.DrawHeader(styles.sAnimation);
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                this.m_LookDevView.config.rotateObjectMode = GUILayout.Toggle(this.m_LookDevView.config.rotateObjectMode, styles.sRotateObjectMode, styles.sMenuItem, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                this.m_LookDevView.config.rotateEnvMode = GUILayout.Toggle(this.m_LookDevView.config.rotateEnvMode, styles.sRotateEnvMode, styles.sMenuItem, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
                EditorGUI.BeginChangeCheck();
                float num4 = EditorGUILayout.Slider(styles.sObjRotationSpeed, this.m_LookDevView.config.objRotationSpeed, -5f, 5f, new GUILayoutOption[0]);
                if (EditorGUI.EndChangeCheck())
                {
                    Undo.RecordObject(this.m_LookDevView.config, "Change rotation speed");
                    this.m_LookDevView.config.objRotationSpeed = num4;
                }
                EditorGUI.BeginChangeCheck();
                float num5 = EditorGUILayout.Slider(styles.sEnvRotationSpeed, this.m_LookDevView.config.envRotationSpeed, -5f, 5f, new GUILayoutOption[0]);
                if (EditorGUI.EndChangeCheck())
                {
                    Undo.RecordObject(this.m_LookDevView.config, "Change env speed");
                    this.m_LookDevView.config.envRotationSpeed = num5;
                }
                this.DrawSeparator();
                this.DrawHeader(styles.sViewport);
                if (GUILayout.Button(styles.sResetView, styles.sMenuItem, new GUILayoutOption[0]))
                {
                    this.m_LookDevView.ResetView();
                }
                this.DrawSeparator();
                this.DrawHeader(styles.sEnvLibrary);
                using (new EditorGUI.DisabledScope(!this.m_LookDevView.envLibrary.dirty))
                {
                    if (GUILayout.Button(styles.sSaveCurrentLibrary, styles.sMenuItem, new GUILayoutOption[0]) && this.m_LookDevView.SaveLookDevLibrary())
                    {
                        this.m_LookDevView.envLibrary.dirty = false;
                    }
                }
                if (GUILayout.Button(styles.sCreateNewLibrary, styles.sMenuItem, new GUILayoutOption[0]))
                {
                    string str = EditorUtility.SaveFilePanelInProject("Save New Environment Library", "New Env Library", "asset", "");
                    if (!string.IsNullOrEmpty(str))
                    {
                        this.m_LookDevView.CreateNewLibrary(str);
                    }
                }
                EditorGUI.BeginChangeCheck();
                LookDevEnvironmentLibrary library = EditorGUILayout.ObjectField(this.m_LookDevView.userEnvLibrary, typeof(LookDevEnvironmentLibrary), false, new GUILayoutOption[0]) as LookDevEnvironmentLibrary;
                if (EditorGUI.EndChangeCheck())
                {
                    this.m_LookDevView.envLibrary = library;
                }
                this.DrawSeparator();
                this.DrawHeader(styles.sMisc);
                this.m_LookDevView.config.showBalls = GUILayout.Toggle(this.m_LookDevView.config.showBalls, styles.sShowBalls, styles.sMenuItem, new GUILayoutOption[0]);
                this.m_LookDevView.config.showControlWindows = GUILayout.Toggle(this.m_LookDevView.config.showControlWindows, styles.sShowControlWindows, styles.sMenuItem, new GUILayoutOption[0]);
                EditorGUI.BeginChangeCheck();
                bool flag2 = GUILayout.Toggle(this.m_LookDevView.config.allowDifferentObjects, styles.sAllowDifferentObjects, styles.sMenuItem, new GUILayoutOption[0]);
                if (EditorGUI.EndChangeCheck())
                {
                    this.m_LookDevView.config.allowDifferentObjects = flag2;
                }
                if (GUILayout.Button(styles.sResyncObjects, styles.sMenuItem, new GUILayoutOption[0]))
                {
                    this.m_LookDevView.config.ResynchronizeObjects();
                }
                GUILayout.EndVertical();
                if (Event.current.type == EventType.MouseMove)
                {
                    Event.current.Use();
                }
                if ((Event.current.type == EventType.KeyDown) && (Event.current.keyCode == KeyCode.Escape))
                {
                    base.editorWindow.Close();
                    GUIUtility.ExitGUI();
                }
            }
        }