void OnGUI()
        {
            InitAllGameviewSizes();

            serializedObject.Update();
            EditorGUI.BeginChangeCheck();


            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);
            if (GUILayout.Button("Gallery Preview", EditorStyles.toolbarButton))
            {
                ResolutionGalleryWindow.Init();
            }
            if (GUILayout.Button("Device Preview", EditorStyles.toolbarButton))
            {
                ResolutionPreviewWindow.Init();
            }
            GUILayout.FlexibleSpace();
            if (GUILayout.Button("About", EditorStyles.toolbarButton))
            {
                UniversalDevicePreview.About();
            }
            EditorGUILayout.EndHorizontal();



            m_ScrollPos = EditorGUILayout.BeginScrollView(m_ScrollPos);

            EditorGUILayout.Separator();
            DrawConfig();
            EditorGUILayout.Separator();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            DrawSupportGUI();


            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            DrawContactGUI();

            EditorGUILayout.EndScrollView();


            if (EditorGUI.EndChangeCheck())
            {
                ResolutionWindowBase.RepaintWindows();
            }

            serializedObject.ApplyModifiedProperties();
        }
Пример #2
0
        protected override void DrawToolBarGUI()
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);

            // BUTTONS
            var col = GUI.color;

            GUI.color = new Color(0.6f, 1f, 0.6f, 1.0f);
            if (GUILayout.Button("  Update Previews ", EditorStyles.toolbarButton))
            {
                UpdateWindowResolutions();
            }
            GUI.color = col;

            if (GUILayout.Button("Export to file(s)", EditorStyles.toolbarButton))
            {
                Export();
            }

            // SPACE
            GUILayout.FlexibleSpace();

            // SAFE AREA
            if (m_ConfigAsset.m_DrawSafeArea)
            {
                if (GUILayout.Button("Safe Area (ON)  ", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_DrawSafeArea = false;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }
            else
            {
                if (GUILayout.Button("Safe Area (OFF)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_DrawSafeArea = true;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }

            // ORIENTATION
            if (m_ConfigAsset.m_Config.GetFirstActiveResolution().m_Orientation == ScreenshotResolution.Orientation.LANDSCAPE)
            {
                if (GUILayout.Button("LANDSCAPE", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_Config.SetAllPortait();
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }
            else
            {
                if (GUILayout.Button("PORTAIT", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_Config.SetAllLandscape();
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }


            // MODE
            EditorGUILayout.LabelField("Display mode", GUILayout.MaxWidth(85));
            EditorGUILayout.PropertyField(m_SerializedConfig.FindProperty("m_GalleryDisplayMode"), GUIContent.none, GUILayout.MaxWidth(70));

            // MODE
            EditorGUILayout.LabelField("Drawing mode", GUILayout.MaxWidth(85));
            var previousDrawing = m_ConfigAsset.m_DrawingMode;

            EditorGUILayout.PropertyField(m_SerializedConfig.FindProperty("m_DrawingMode"), GUIContent.none, GUILayout.MaxWidth(100));
            m_SerializedConfig.ApplyModifiedProperties();
            m_SerializedConfig.Update();
            if (previousDrawing != m_ConfigAsset.m_DrawingMode)
            {
                UpdateWindowResolutions();
            }



            if (GUILayout.Button("Settings", EditorStyles.toolbarButton))
            {
                ResolutionSettingsWindow.Init();
            }

            // ABOUT
            if (GUILayout.Button("About", EditorStyles.toolbarButton))
            {
                UniversalDevicePreview.About();
            }

            EditorGUILayout.EndHorizontal();


            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);



            // AUTO REFRESH
            if (m_ConfigAsset.m_AutoRefresh)
            {
                if (GUILayout.Button("Auto refresh (ON)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_AutoRefresh = false;
                    EditorUtility.SetDirty(m_ConfigAsset);
                }
            }
            else
            {
                if (GUILayout.Button("Auto refresh (OFF)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_AutoRefresh = true;
                    EditorUtility.SetDirty(m_ConfigAsset);
                }
            }
            EditorGUILayout.LabelField("Refresh delay (s)", GUILayout.MaxWidth(110));
            float delay = EditorGUILayout.Slider(m_ConfigAsset.m_RefreshDelay, 0.01f, 10f, GUILayout.MaxWidth(200));

            if (delay != m_ConfigAsset.m_RefreshDelay)
            {
                m_ConfigAsset.m_RefreshDelay = delay;
                EditorUtility.SetDirty(m_ConfigAsset);
            }



            // SPACE
            GUILayout.FlexibleSpace();

            // ZOOM
            EditorGUILayout.LabelField("Zoom", GUILayout.MaxWidth(40));
            float zoom = EditorGUILayout.Slider(m_ConfigAsset.m_PreviewGalleryZoom, 0.05f, 4f, GUILayout.ExpandWidth(true));

            if (zoom != m_ConfigAsset.m_PreviewGalleryZoom)
            {
                m_ConfigAsset.m_PreviewGalleryZoom = zoom;
                EditorUtility.SetDirty(m_ConfigAsset);
            }

            if (GUILayout.Button("1:1", EditorStyles.toolbarButton))
            {
                m_ConfigAsset.m_PreviewGalleryZoom = 1f;
                EditorUtility.SetDirty(m_ConfigAsset);
            }

            EditorGUILayout.EndHorizontal();
        }
        protected override void DrawToolBarGUI()
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);


            // Safe selection
            if (m_ConfigAsset.m_Selected >= m_ConfigAsset.m_Config.m_Resolutions.Count)
            {
                m_ConfigAsset.m_Selected = 0;
            }


            // BUTTONS
            var col = GUI.color;

            GUI.color = new Color(0.6f, 1f, 0.6f, 1.0f);
            if (GUILayout.Button("  Update Preview  ", EditorStyles.toolbarButton))
            {
                UpdateWindowResolutions();
            }
            GUI.color = col;

            if (GUILayout.Button("Export to file(s)", EditorStyles.toolbarButton))
            {
                Export();
            }

            // SPACE
            GUILayout.FlexibleSpace();



            // SAFE AREA
            if (m_ConfigAsset.m_DrawSafeArea)
            {
                if (GUILayout.Button("Safe Area (ON)  ", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_DrawSafeArea = false;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }
            else
            {
                if (GUILayout.Button("Safe Area (OFF)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_DrawSafeArea = true;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }

            // ORIENTATION
            var previousOrientation     = ScreenshotResolution.Orientation.LANDSCAPE;
            ScreenshotResolution device = null;

            if (m_ConfigAsset.m_Config.m_Resolutions.Count > m_ConfigAsset.m_Selected)
            {
                device = m_ConfigAsset.m_Config.m_Resolutions[m_ConfigAsset.m_Selected];
            }
            if (device != null)
            {
                previousOrientation = device.m_Orientation;
                var newOrientation = (ScreenshotResolution.Orientation)EditorGUILayout.EnumPopup("", m_ConfigAsset.m_Config.GetFirstActiveResolution().m_Orientation);
                if (newOrientation != previousOrientation)
                {
                    if (newOrientation == ScreenshotResolution.Orientation.LANDSCAPE)
                    {
                        m_ConfigAsset.m_Config.SetAllLandscape();
                    }
                    else if (newOrientation == ScreenshotResolution.Orientation.LANDSCAPE_RIGHT)
                    {
                        m_ConfigAsset.m_Config.SetAllLandscapeRight();
                    }
                    else
                    {
                        m_ConfigAsset.m_Config.SetAllPortait();
                    }
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }

            // MODE
            EditorGUILayout.LabelField("Display mode", GUILayout.MaxWidth(85));
            EditorGUILayout.PropertyField(m_SerializedConfig.FindProperty("m_PreviewDisplayMode"), GUIContent.none, GUILayout.MaxWidth(70));


            // MODE
            EditorGUILayout.LabelField("Drawing mode", GUILayout.MaxWidth(85));
            var previousDrawing = m_ConfigAsset.m_DrawingMode;

            EditorGUILayout.PropertyField(m_SerializedConfig.FindProperty("m_DrawingMode"), GUIContent.none, GUILayout.MaxWidth(100));
            m_SerializedConfig.ApplyModifiedProperties();
            if (previousDrawing != m_ConfigAsset.m_DrawingMode)
            {
                UpdateWindowResolutions();
            }



            if (GUILayout.Button("Settings", EditorStyles.toolbarButton))
            {
                ResolutionSettingsWindow.Init();
            }

            // ABOUT
            if (GUILayout.Button("About", EditorStyles.toolbarButton))
            {
                UniversalDevicePreview.About();
            }

            EditorGUILayout.EndHorizontal();


            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);


            // AUTO REFRESH
            if (m_ConfigAsset.m_AutoRefresh)
            {
                if (GUILayout.Button("Auto refresh (ON)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_AutoRefresh = false;
                    EditorUtility.SetDirty(m_ConfigAsset);
                }
            }
            else
            {
                if (GUILayout.Button("Auto refresh (OFF)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_AutoRefresh = true;
                    EditorUtility.SetDirty(m_ConfigAsset);
                }
            }
            EditorGUILayout.LabelField("Refresh delay (s)", GUILayout.MaxWidth(110));
            float delay = EditorGUILayout.Slider(m_ConfigAsset.m_RefreshDelay, 0.01f, 10f, GUILayout.MaxWidth(200));

            if (delay != m_ConfigAsset.m_RefreshDelay)
            {
                m_ConfigAsset.m_RefreshDelay = delay;
                EditorUtility.SetDirty(m_ConfigAsset);
            }



            // SPACE
            GUILayout.FlexibleSpace();

            // ZOOM
            EditorGUILayout.LabelField("Zoom", GUILayout.MaxWidth(40));
            float zoom = EditorGUILayout.Slider(m_ConfigAsset.m_PreviewZoom, 0.05f, 4f);

            if (zoom != m_ConfigAsset.m_PreviewZoom)
            {
                m_ConfigAsset.m_PreviewZoom = zoom;
                EditorUtility.SetDirty(m_ConfigAsset);
            }

            if (GUILayout.Button("1:1", EditorStyles.toolbarButton))
            {
                m_ConfigAsset.m_PreviewZoom = 1f;
                EditorUtility.SetDirty(m_ConfigAsset);
            }

            EditorGUILayout.EndHorizontal();



            // DEVICES
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);
            GUILayout.FlexibleSpace();

            // SELECTION
            List <string> names    = m_ConfigAsset.m_Config.m_Resolutions.Select(x => x.ToString()).ToList();
            int           selected = EditorGUILayout.Popup(m_ConfigAsset.m_Selected, names.ToArray(), GUILayout.MinWidth(400));

            if (m_ConfigAsset.m_Config.m_Resolutions.Count > 0)
            {
                m_SelectedResolution = m_ConfigAsset.m_Config.m_Resolutions[selected];
            }
            else
            {
                m_SelectedResolution = null;
            }


            // Call update if selected changed
            if (selected != m_ConfigAsset.m_Selected)
            {
                m_ConfigAsset.m_Selected = selected;
                EditorUtility.SetDirty(m_ConfigAsset);
                if (m_ConfigAsset.m_AutoGenerateEmptyPreview)
                {
                    UpdateWindowResolutions();
                }
            }


            GUILayout.FlexibleSpace();
            EditorGUILayout.EndHorizontal();
        }
Пример #4
0
        protected override void DrawToolBarGUI()
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);


            // Safe selection
            if (m_ConfigAsset.m_Selected >= m_ConfigAsset.m_Config.GetActiveResolutions().Count)
            {
                m_ConfigAsset.m_Selected = 0;
            }


            // BUTTONS
            if (GUILayout.Button("Update", EditorStyles.toolbarButton))
            {
                UpdateWindowResolutions();
            }

            if (GUILayout.Button("Export to file(s)", EditorStyles.toolbarButton))
            {
                Export();
            }

            // SPACE
            GUILayout.FlexibleSpace();



            // SAFE AREA
            if (m_ConfigAsset.m_DrawSafeArea)
            {
                if (GUILayout.Button("Safe Area (ON)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_DrawSafeArea = false;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }
            else
            {
                if (GUILayout.Button("Safe Area (OFF)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_DrawSafeArea = true;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }

            // ORIENTATION
            if (m_ConfigAsset.m_Config.GetActiveResolutions().Count > 0 && m_ConfigAsset.m_Config.GetActiveResolutions() [m_ConfigAsset.m_Selected].m_Orientation == ScreenshotResolution.Orientation.LANDSCAPE)
            {
                if (GUILayout.Button("LANDSCAPE", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_Config.SetAllPortait();
//					m_ConfigAsset.m_Config.GetActiveResolutions () [m_ConfigAsset.m_Selected].m_Orientation = ScreenshotResolution.Orientation.PORTRAIT;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }
            else
            {
                if (GUILayout.Button("PORTAIT", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_Config.SetAllLandscape();
//					m_ConfigAsset.m_Config.GetActiveResolutions () [m_ConfigAsset.m_Selected].m_Orientation = ScreenshotResolution.Orientation.LANDSCAPE;
                    EditorUtility.SetDirty(m_ConfigAsset);
                    UpdateWindowResolutions();
                }
            }



            // MODE
            EditorGUILayout.LabelField("Display mode", GUILayout.MaxWidth(85));
            EditorGUILayout.PropertyField(m_SerializedConfig.FindProperty("m_PreviewDisplayMode"), GUIContent.none, GUILayout.MaxWidth(70));


            // MODE
            EditorGUILayout.LabelField("Drawing mode", GUILayout.MaxWidth(85));
            var previousDrawing = m_ConfigAsset.m_DrawingMode;

            EditorGUILayout.PropertyField(m_SerializedConfig.FindProperty("m_DrawingMode"), GUIContent.none, GUILayout.MaxWidth(100));
            m_SerializedConfig.ApplyModifiedProperties();
            if (previousDrawing != m_ConfigAsset.m_DrawingMode)
            {
                UpdateWindowResolutions();
            }



            if (GUILayout.Button("Settings", EditorStyles.toolbarButton))
            {
                ResolutionSettingsWindow.Init();
            }

            // ABOUT
            if (GUILayout.Button("About", EditorStyles.toolbarButton))
            {
                UniversalDevicePreview.About();
            }

            EditorGUILayout.EndHorizontal();


            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);


            // AUTO REFRESH
            if (m_ConfigAsset.m_AutoRefresh)
            {
                if (GUILayout.Button("Auto refresh (ON)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_AutoRefresh = false;
                    EditorUtility.SetDirty(m_ConfigAsset);
                }
            }
            else
            {
                if (GUILayout.Button("Auto refresh (OFF)", EditorStyles.toolbarButton))
                {
                    m_ConfigAsset.m_AutoRefresh = true;
                    EditorUtility.SetDirty(m_ConfigAsset);
                }
            }
            EditorGUILayout.LabelField("Refresh delay (s)", GUILayout.MaxWidth(110));
            float delay = EditorGUILayout.Slider(m_ConfigAsset.m_RefreshDelay, 0.01f, 10f, GUILayout.MaxWidth(200));

            if (delay != m_ConfigAsset.m_RefreshDelay)
            {
                m_ConfigAsset.m_RefreshDelay = delay;
                EditorUtility.SetDirty(m_ConfigAsset);
            }



            // SPACE
            GUILayout.FlexibleSpace();

            // ZOOM
            EditorGUILayout.LabelField("Zoom", GUILayout.MaxWidth(40));
            float zoom = EditorGUILayout.Slider(m_ConfigAsset.m_PreviewZoom, 0.05f, 4f);

            if (zoom != m_ConfigAsset.m_PreviewZoom)
            {
                m_ConfigAsset.m_PreviewZoom = zoom;
                EditorUtility.SetDirty(m_ConfigAsset);
            }

            if (GUILayout.Button("1:1", EditorStyles.toolbarButton))
            {
                m_ConfigAsset.m_PreviewZoom = 1f;
                EditorUtility.SetDirty(m_ConfigAsset);
            }

            EditorGUILayout.EndHorizontal();


            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);



            GUILayout.FlexibleSpace();

            // SELECTION
            List <string> names = new List <string> ();

            foreach (ScreenshotResolution resolution in m_ConfigAsset.m_Config.GetActiveResolutions())
            {
                names.Add(resolution.ToString());
            }
            int selected = EditorGUILayout.Popup(m_ConfigAsset.m_Selected, names.ToArray(), GUILayout.MinWidth(300));

            if (m_ConfigAsset.m_Config.GetActiveResolutions().Count > 0)
            {
                m_SelectedResolution = m_ConfigAsset.m_Config.GetActiveResolutions() [selected];
            }
            else
            {
                m_SelectedResolution = null;
            }


            // Call update if selected changed
            if (selected != m_ConfigAsset.m_Selected)
            {
                m_ConfigAsset.m_Selected = selected;
                EditorUtility.SetDirty(m_ConfigAsset);
                UpdateWindowResolutions();
            }



            GUILayout.FlexibleSpace();

            EditorGUILayout.EndHorizontal();
        }