public void Set(GameViewSize other)
 {
     this.sizeType = other.sizeType;
     this.width = other.width;
     this.height = other.height;
     this.baseText = other.baseText;
     this.Changed();
 }
Example #2
0
        public string GetName(int index)
        {
            GameViewSize gameViewSize = this.m_GameViewSizeGroup.GetGameViewSize(index);
            string       result;

            if (gameViewSize != null)
            {
                result = gameViewSize.displayText;
            }
            else
            {
                result = "";
            }
            return(result);
        }
        public int IndexOf(GameViewSize view)
        {
            int num = this.m_Builtin.IndexOf(view);
            int result;

            if (num >= 0)
            {
                result = num;
            }
            else
            {
                result = this.m_Custom.IndexOf(view);
            }
            return(result);
        }
Example #4
0
        private static GameViewSize CastToGameViewSize(object obj)
        {
            GameViewSize gameViewSize = obj as GameViewSize;
            GameViewSize result;

            if (obj == null)
            {
                Debug.LogError("Incorrect input");
                result = null;
            }
            else
            {
                result = gameViewSize;
            }
            return(result);
        }
Example #5
0
        public int Add(object obj)
        {
            GameViewSize gameViewSize = GameViewSizesMenuItemProvider.CastToGameViewSize(obj);
            int          result;

            if (gameViewSize == null)
            {
                result = -1;
            }
            else
            {
                this.m_GameViewSizeGroup.AddCustomSize(gameViewSize);
                ScriptableSingleton <GameViewSizes> .instance.SaveToHDD();

                result = this.Count() - 1;
            }
            return(result);
        }
        public void Replace(int index, object obj)
        {
            GameViewSize other = CastToGameViewSize(obj);

            if (other != null)
            {
                if (index < this.m_GameViewSizeGroup.GetBuiltinCount())
                {
                    Debug.LogError("Only custom game view sizes can be changed");
                }
                else
                {
                    GameViewSize gameViewSize = this.m_GameViewSizeGroup.GetGameViewSize(index);
                    if (gameViewSize != null)
                    {
                        gameViewSize.Set(other);
                        ScriptableSingleton <GameViewSizes> .instance.SaveToHDD();
                    }
                }
            }
        }
        public void Replace(int index, object obj)
        {
            GameViewSize gameViewSize = GameViewSizesMenuItemProvider.CastToGameViewSize(obj);

            if (gameViewSize == null)
            {
                return;
            }
            if (index < this.m_GameViewSizeGroup.GetBuiltinCount())
            {
                Debug.LogError("Only custom game view sizes can be changed");
                return;
            }
            GameViewSize gameViewSize2 = this.m_GameViewSizeGroup.GetGameViewSize(index);

            if (gameViewSize2 != null)
            {
                gameViewSize2.Set(gameViewSize);
                ScriptableSingleton <GameViewSizes> .instance.SaveToHDD();
            }
        }
Example #8
0
        public string[] GetDisplayTexts()
        {
            List <string> stringList = new List <string>();

            using (List <GameViewSize> .Enumerator enumerator = this.m_Builtin.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    GameViewSize current = enumerator.Current;
                    stringList.Add(current.displayText);
                }
            }
            using (List <GameViewSize> .Enumerator enumerator = this.m_Custom.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    GameViewSize current = enumerator.Current;
                    stringList.Add(current.displayText);
                }
            }
            return(stringList.ToArray());
        }
Example #9
0
        public void Replace(int index, object obj)
        {
            GameViewSize newResolution = CastToGameViewSize(obj);

            if (newResolution == null)
            {
                return;
            }

            if (index < m_GameViewSizeGroup.GetBuiltinCount())
            {
                Debug.LogError("Only custom game view sizes can be changed");
                return;
            }

            GameViewSize gameViewSize = m_GameViewSizeGroup.GetGameViewSize(index);

            if (gameViewSize != null)
            {
                gameViewSize.Set(newResolution);
                GameViewSizes.instance.SaveToHDD();
            }
        }
Example #10
0
        public static Rect GetConstrainedRect(Rect startRect, GameViewSizeGroupType groupType, int gameViewSizeIndex, out bool fitsInsideRect)
        {
            fitsInsideRect = true;
            Rect         constrainedRect = startRect;
            GameViewSize gameViewSize    = GameViewSizes.instance.GetGroup(groupType).GetGameViewSize(gameViewSizeIndex);

            RefreshDerivedGameViewSize(groupType, gameViewSizeIndex, gameViewSize);

            if (gameViewSize.isFreeAspectRatio)
            {
                return(startRect);
            }

            float newRatio = 0;
            bool  useRatio;

            switch (gameViewSize.sizeType)
            {
            case GameViewSizeType.AspectRatio:
            {
                newRatio = gameViewSize.aspectRatio;
                useRatio = true;
            }
            break;

            case GameViewSizeType.FixedResolution:
            {
                if (gameViewSize.height > startRect.height || gameViewSize.width > startRect.width)
                {
                    newRatio       = gameViewSize.aspectRatio;
                    useRatio       = true;
                    fitsInsideRect = false;
                }
                else
                {
                    constrainedRect.height = gameViewSize.height;
                    constrainedRect.width  = gameViewSize.width;
                    useRatio = false;
                }
            }
            break;

            default:
                throw new ArgumentException("Unrecognized size type");
            }

            if (useRatio)
            {
                constrainedRect.height = (constrainedRect.width / newRatio) > startRect.height
                    ? (startRect.height)
                    : (constrainedRect.width / newRatio);
                constrainedRect.width = (constrainedRect.height * newRatio);
            }

            // clamp
            constrainedRect.height = Mathf.Clamp(constrainedRect.height, 0f, startRect.height);
            constrainedRect.width  = Mathf.Clamp(constrainedRect.width, 0f, startRect.width);

            // center
            constrainedRect.y = (startRect.height * 0.5f - constrainedRect.height * 0.5f) + startRect.y;
            constrainedRect.x = (startRect.width * 0.5f - constrainedRect.width * 0.5f) + startRect.x;

            // Round to whole pixels - actually is important for correct rendering of game view!
            constrainedRect.width  = Mathf.Floor(constrainedRect.width + 0.5f);
            constrainedRect.height = Mathf.Floor(constrainedRect.height + 0.5f);
            constrainedRect.x      = Mathf.Floor(constrainedRect.x + 0.5f);
            constrainedRect.y      = Mathf.Floor(constrainedRect.y + 0.5f);

            return(constrainedRect);
        }
 public void AddCustomSize(GameViewSize size)
 {
   this.m_Custom.Add(size);
   ScriptableSingleton<GameViewSizes>.instance.Changed();
 }
 public int IndexOf(GameViewSize view)
 {
   int num = this.m_Builtin.IndexOf(view);
   if (num >= 0)
     return num;
   return this.m_Custom.IndexOf(view);
 }
Example #13
0
 public override void OnClose()
 {
     this.m_GameViewSize = null;
     base.OnClose();
 }
Example #14
0
 private static void RefreshDerivedGameViewSize(GameViewSizeGroupType groupType, int gameViewSizeIndex, GameViewSize gameViewSize)
 {
     if (ScriptableSingleton <GameViewSizes> .instance.IsDefaultStandaloneScreenSize(groupType, gameViewSizeIndex))
     {
         gameViewSize.width  = (int)InternalEditorUtility.defaultScreenWidth;
         gameViewSize.height = (int)InternalEditorUtility.defaultScreenHeight;
     }
     else if (ScriptableSingleton <GameViewSizes> .instance.IsRemoteScreenSize(groupType, gameViewSizeIndex))
     {
         int num;
         int num2;
         if (XRSettings.isDeviceActive)
         {
             num  = XRSettings.eyeTextureWidth;
             num2 = XRSettings.eyeTextureHeight;
         }
         else
         {
             num  = (int)InternalEditorUtility.remoteScreenWidth;
             num2 = (int)InternalEditorUtility.remoteScreenHeight;
         }
         if (num > 0 && num2 > 0)
         {
             gameViewSize.sizeType = GameViewSizeType.FixedResolution;
             gameViewSize.width    = num;
             gameViewSize.height   = num2;
         }
         else
         {
             gameViewSize.sizeType = GameViewSizeType.AspectRatio;
             int num3 = 0;
             gameViewSize.height = num3;
             gameViewSize.width  = num3;
         }
     }
 }
Example #15
0
 public GameViewSize(GameViewSize other)
 {
     this.Set(other);
 }
        private void InitBuiltinGroups()
        {
            bool isInitialized = m_Standalone.GetBuiltinCount() > 0;

            if (isInitialized)
            {
                return;
            }

            m_Remote = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Remote (Not Connected)");

            // Shared
            GameViewSize kFree       = new GameViewSize(GameViewSizeType.AspectRatio, 0, 0, "Free Aspect");
            GameViewSize k5_4        = new GameViewSize(GameViewSizeType.AspectRatio, 5, 4, "");
            GameViewSize k4_3        = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, "");
            GameViewSize k3_2        = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "");
            GameViewSize k16_10      = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, "");
            GameViewSize k16_9       = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "");
            GameViewSize kStandalone = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Standalone");

            // iOS
            GameViewSize k_iPhoneTall    = new GameViewSize(GameViewSizeType.FixedResolution, 320, 480, "iPhone Tall");
            GameViewSize k_iPhoneWide    = new GameViewSize(GameViewSizeType.FixedResolution, 480, 320, "iPhone Wide");
            GameViewSize k_iPhone4GTall  = new GameViewSize(GameViewSizeType.FixedResolution, 640, 960, "iPhone 4 Tall");
            GameViewSize k_iPhone4GWide  = new GameViewSize(GameViewSizeType.FixedResolution, 960, 640, "iPhone 4 Wide");
            GameViewSize k_iPadTall      = new GameViewSize(GameViewSizeType.FixedResolution, 768, 1024, "iPad Tall");
            GameViewSize k_iPadWide      = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 768, "iPad Wide");
            GameViewSize k_iPhone5Tall   = new GameViewSize(GameViewSizeType.AspectRatio, 9, 16, "iPhone 5 Tall");
            GameViewSize k_iPhone5Wide   = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "iPhone 5 Wide");
            GameViewSize k_iPhoneTall2_3 = new GameViewSize(GameViewSizeType.AspectRatio, 2, 3, "iPhone Tall");
            GameViewSize k_iPhoneWide3_2 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "iPhone Wide");
            GameViewSize k_iPadTall3_4   = new GameViewSize(GameViewSizeType.AspectRatio, 3, 4, "iPad Tall");
            GameViewSize k_iPadWide4_3   = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, "iPad Wide");

            // Android
            GameViewSize k_HVGA_Portrait   = new GameViewSize(GameViewSizeType.FixedResolution, 320, 480, "HVGA Portrait");
            GameViewSize k_HVGA_Landscape  = new GameViewSize(GameViewSizeType.FixedResolution, 480, 320, "HVGA Landscape");
            GameViewSize k_WVGA_Portrait   = new GameViewSize(GameViewSizeType.FixedResolution, 480, 800, "WVGA Portrait");
            GameViewSize k_WVGA_Landscape  = new GameViewSize(GameViewSizeType.FixedResolution, 800, 480, "WVGA Landscape");
            GameViewSize k_FWVGA_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 480, 854, "FWVGA Portrait");
            GameViewSize k_FWVGA_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 854, 480, "FWVGA Landscape");
            GameViewSize k_WSVGA_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 600, 1024, "WSVGA Portrait");
            GameViewSize k_WSVGA_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 600, "WSVGA Landscape");
            GameViewSize k_WXGA_Portrait   = new GameViewSize(GameViewSizeType.FixedResolution, 800, 1280, "WXGA Portrait");
            GameViewSize k_WXGA_Landscape  = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 800, "WXGA Landscape");
            GameViewSize k_3_2_Portrait    = new GameViewSize(GameViewSizeType.AspectRatio, 2, 3, "3:2 Portrait");
            GameViewSize k_3_2_Landscape   = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "3:2 Landscape");
            GameViewSize k_16_10_Portrait  = new GameViewSize(GameViewSizeType.AspectRatio, 10, 16, "16:10 Portrait");
            GameViewSize k_16_10_Landscape = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, "16:10 Landscape");

            // Nintendo 3DS
            GameViewSize kN3DSTopScreen    = new GameViewSize(GameViewSizeType.FixedResolution, 400, 240, "Top Screen");
            GameViewSize kN3DSBottomScreen = new GameViewSize(GameViewSizeType.FixedResolution, 320, 240, "Bottom Screen");

            m_Standalone.AddBuiltinSizes(kFree, k5_4, k4_3, k3_2, k16_10, k16_9, kStandalone);

            m_iOS.AddBuiltinSizes(kFree,
                                  k_iPhoneTall, k_iPhoneWide,
                                  k_iPhone4GTall, k_iPhone4GWide,
                                  k_iPadTall, k_iPadWide,
                                  k_iPhone5Tall, k_iPhone5Wide,
                                  k_iPhoneTall2_3, k_iPhoneWide3_2,
                                  k_iPadTall3_4, k_iPadWide4_3);
            m_Android.AddBuiltinSizes(kFree, m_Remote,
                                      k_HVGA_Portrait, k_HVGA_Landscape,
                                      k_WVGA_Portrait, k_WVGA_Landscape,
                                      k_FWVGA_Portrait, k_FWVGA_Landscape,
                                      k_WSVGA_Portrait, k_WSVGA_Landscape,
                                      k_WXGA_Portrait, k_WXGA_Landscape,
                                      k_3_2_Portrait, k_3_2_Landscape,
                                      k_16_10_Portrait, k_16_10_Landscape);

            m_N3DS.AddBuiltinSizes(kFree, kN3DSTopScreen, kN3DSBottomScreen);

            m_HMD.AddBuiltinSizes(kFree, m_Remote);
        }
 public override void OnGUI(Rect rect)
 {
   if (GameViewSizesMenuModifyItemUI.s_Styles == null)
     GameViewSizesMenuModifyItemUI.s_Styles = new GameViewSizesMenuModifyItemUI.Styles();
   GameViewSize other = this.m_Object as GameViewSize;
   if (other == null)
   {
     Debug.LogError((object) "Invalid object");
   }
   else
   {
     if (this.m_GameViewSize == null)
       this.m_GameViewSize = new GameViewSize(other);
     bool flag = this.m_GameViewSize.width > 0 && this.m_GameViewSize.height > 0;
     GUILayout.Space(3f);
     GUILayout.Label(this.m_MenuType != FlexibleMenuModifyItemUI.MenuType.Add ? GameViewSizesMenuModifyItemUI.s_Styles.headerEdit : GameViewSizesMenuModifyItemUI.s_Styles.headerAdd, EditorStyles.boldLabel, new GUILayoutOption[0]);
     FlexibleMenu.DrawRect(GUILayoutUtility.GetRect(1f, 1f), !EditorGUIUtility.isProSkin ? new Color(0.6f, 0.6f, 0.6f, 1.333f) : new Color(0.32f, 0.32f, 0.32f, 1.333f));
     GUILayout.Space(4f);
     GUILayout.BeginHorizontal();
     GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.optionalText, new GUILayoutOption[1]
     {
       GUILayout.Width(90f)
     });
     GUILayout.Space(10f);
     this.m_GameViewSize.baseText = EditorGUILayout.TextField(this.m_GameViewSize.baseText);
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.typeName, new GUILayoutOption[1]
     {
       GUILayout.Width(90f)
     });
     GUILayout.Space(10f);
     this.m_GameViewSize.sizeType = (GameViewSizeType) EditorGUILayout.Popup((int) this.m_GameViewSize.sizeType, GameViewSizesMenuModifyItemUI.s_Styles.typeNames);
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.widthHeightText, new GUILayoutOption[1]
     {
       GUILayout.Width(90f)
     });
     GUILayout.Space(10f);
     this.m_GameViewSize.width = EditorGUILayout.IntField(this.m_GameViewSize.width);
     GUILayout.Space(5f);
     this.m_GameViewSize.height = EditorGUILayout.IntField(this.m_GameViewSize.height);
     GUILayout.EndHorizontal();
     GUILayout.Space(10f);
     float pixels = 10f;
     float cropWidth = rect.width - 2f * pixels;
     GUILayout.BeginHorizontal();
     GUILayout.Space(pixels);
     GUILayout.FlexibleSpace();
     string displayText = this.m_GameViewSize.displayText;
     EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(displayText));
     GUILayout.Label(GUIContent.Temp(!string.IsNullOrEmpty(displayText) ? this.GetCroppedText(displayText, cropWidth, EditorStyles.label) : "Result"), EditorStyles.label, new GUILayoutOption[0]);
     EditorGUI.EndDisabledGroup();
     GUILayout.FlexibleSpace();
     GUILayout.Space(pixels);
     GUILayout.EndHorizontal();
     GUILayout.Space(5f);
     GUILayout.BeginHorizontal();
     GUILayout.Space(10f);
     if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.cancel))
       this.editorWindow.Close();
     EditorGUI.BeginDisabledGroup(!flag);
     if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.ok))
     {
       other.Set(this.m_GameViewSize);
       this.Accepted();
       this.editorWindow.Close();
     }
     EditorGUI.EndDisabledGroup();
     GUILayout.Space(10f);
     GUILayout.EndHorizontal();
   }
 }
        public static Vector2 GetRenderTargetSize(Rect startRect, GameViewSizeGroupType groupType, int gameViewSizeIndex, out bool clamped)
        {
            Vector2      size;
            float        num2;
            GameViewSize gameViewSize = ScriptableSingleton <GameViewSizes> .instance.GetGroup(groupType).GetGameViewSize(gameViewSizeIndex);

            RefreshDerivedGameViewSize(groupType, gameViewSizeIndex, gameViewSize);
            clamped = false;
            if (gameViewSize.isFreeAspectRatio)
            {
                size = startRect.size;
            }
            else
            {
                GameViewSizeType sizeType = gameViewSize.sizeType;
                if (sizeType != GameViewSizeType.AspectRatio)
                {
                    if (sizeType != GameViewSizeType.FixedResolution)
                    {
                        throw new ArgumentException("Unrecognized size type");
                    }
                }
                else
                {
                    if ((startRect.height == 0f) || (gameViewSize.aspectRatio == 0f))
                    {
                        size = Vector2.zero;
                    }
                    else
                    {
                        float num = startRect.width / startRect.height;
                        if (num < gameViewSize.aspectRatio)
                        {
                            size = new Vector2(startRect.width, startRect.width / gameViewSize.aspectRatio);
                        }
                        else
                        {
                            size = new Vector2(startRect.height * gameViewSize.aspectRatio, startRect.height);
                        }
                    }
                    goto Label_010B;
                }
                size = new Vector2((float)gameViewSize.width, (float)gameViewSize.height);
            }
Label_010B:
            num2 = (((SystemInfo.graphicsMemorySize * 0.2f) / 12f) * 1024f) * 1024f;
            float num3 = size.x * size.y;

            if (num3 > num2)
            {
                size    = (Vector2)(size * (num2 / num3));
                clamped = true;
            }
            float b    = 8192f;
            float num5 = Mathf.Min((float)SystemInfo.maxRenderTextureSize, b);

            if ((size.x > num5) || (size.y > num5))
            {
                if (size.x > size.y)
                {
                    size = (Vector2)(size * (num5 / size.x));
                }
                else
                {
                    size = (Vector2)(size * (num5 / size.y));
                }
                clamped = true;
            }
            return(size);
        }
        override public void OnGUI(Rect rect)
        {
            if (s_Styles == null)
            {
                s_Styles = new Styles();
            }

            GameViewSize gameViewSizeState = m_Object as GameViewSize;

            if (gameViewSizeState == null)
            {
                Debug.LogError("Invalid object");
                return;
            }

            // We use a local gameviewsize to ensure we do not edit the original state (if user presses cancel state is not changed)
            if (m_GameViewSize == null)
            {
                m_GameViewSize = new GameViewSize(gameViewSizeState);
            }

            bool        validSettings = m_GameViewSize.width > 0 && m_GameViewSize.height > 0;
            const float kColumnWidth  = 90f;
            const float kSpacing      = 10f;

            GUILayout.Space(3);
            GUILayout.Label(m_MenuType == MenuType.Add ? s_Styles.headerAdd : s_Styles.headerEdit,
                            EditorStyles.boldLabel);

            Rect seperatorRect = GUILayoutUtility.GetRect(1, 1);

            FlexibleMenu.DrawRect(seperatorRect,
                                  (EditorGUIUtility.isProSkin)
                ? new Color(0.32f, 0.32f, 0.32f, 1.333f)
                : new Color(0.6f, 0.6f, 0.6f, 1.333f));                      // dark : light
            GUILayout.Space(4);

            // Optional text
            GUILayout.BeginHorizontal();
            GUILayout.Label(s_Styles.optionalText, GUILayout.Width(kColumnWidth));
            GUILayout.Space(kSpacing);
            m_GameViewSize.baseText = EditorGUILayout.TextField(m_GameViewSize.baseText);
            GUILayout.EndHorizontal();

            // Drop list (aspect / fixed res)
            GUILayout.BeginHorizontal();
            GUILayout.Label(s_Styles.typeName, GUILayout.Width(kColumnWidth));
            GUILayout.Space(kSpacing);
            m_GameViewSize.sizeType = (GameViewSizeType)EditorGUILayout.Popup((int)m_GameViewSize.sizeType, s_Styles.typeNames);
            GUILayout.EndHorizontal();

            // Width Height
            GUILayout.BeginHorizontal();
            GUILayout.Label(s_Styles.widthHeightText, GUILayout.Width(kColumnWidth));
            GUILayout.Space(kSpacing);
            m_GameViewSize.width = EditorGUILayout.IntField(m_GameViewSize.width);
            GUILayout.Space(5);
            m_GameViewSize.height = EditorGUILayout.IntField(m_GameViewSize.height);
            GUILayout.EndHorizontal();

            GUILayout.Space(10f);

            // Displayed text
            float margin    = 10f;
            float cropWidth = rect.width - 2 * margin;

            GUILayout.BeginHorizontal();
            GUILayout.Space(margin);
            GUILayout.FlexibleSpace();
            string displayText = m_GameViewSize.displayText;

            using (new EditorGUI.DisabledScope(string.IsNullOrEmpty(displayText)))
            {
                if (string.IsNullOrEmpty(displayText))
                {
                    displayText = "Result";
                }
                else
                {
                    displayText = GetCroppedText(displayText, cropWidth, EditorStyles.label);
                }
                GUILayout.Label(GUIContent.Temp(displayText), EditorStyles.label);
            }
            GUILayout.FlexibleSpace();
            GUILayout.Space(margin);
            GUILayout.EndHorizontal();

            GUILayout.Space(5f);

            // Cancel, Ok
            GUILayout.BeginHorizontal();
            GUILayout.Space(10);
            if (GUILayout.Button(s_Styles.cancel))
            {
                editorWindow.Close();
            }

            using (new EditorGUI.DisabledScope(!validSettings))
            {
                if (GUILayout.Button(s_Styles.ok))
                {
                    gameViewSizeState.Set(m_GameViewSize);
                    Accepted();
                    editorWindow.Close();
                }
            }
            GUILayout.Space(10);
            GUILayout.EndHorizontal();
        }
Example #20
0
        private void InitBuiltinGroups()
        {
            bool isInitialized = m_Standalone.GetBuiltinCount() > 0;

            if (isInitialized)
            {
                return;
            }

            m_Remote = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Remote (Not Connected)");

            // Standalone
            GameViewSize kFree          = new GameViewSize(GameViewSizeType.AspectRatio, 0, 0, "Free Aspect");
            GameViewSize k16_10         = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, "");
            GameViewSize k16_9          = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "");
            GameViewSize k_PC_1920x1080 = new GameViewSize(GameViewSizeType.FixedResolution, 1920, 1080, "Full HD");
            GameViewSize k_PC_1366x768  = new GameViewSize(GameViewSizeType.FixedResolution, 1366, 768, "WXGA");
            GameViewSize k_PC_2560x1440 = new GameViewSize(GameViewSizeType.FixedResolution, 2560, 1440, "QHD");
            GameViewSize k_PC_3840x2160 = new GameViewSize(GameViewSizeType.FixedResolution, 3840, 2160, "4K UHD");

            // all mobiles
            GameViewSize k_4_3_Portrait   = new GameViewSize(GameViewSizeType.AspectRatio, 3, 4, "4:3 Portrait");
            GameViewSize k_4_3_Landscape  = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, "4:3 Landscape");
            GameViewSize k_16_9_Portrait  = new GameViewSize(GameViewSizeType.AspectRatio, 9, 16, "16:9 Portrait");
            GameViewSize k_16_9_Landscape = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "16:9 Landscape");
            GameViewSize k_18_9_Portrait  = new GameViewSize(GameViewSizeType.AspectRatio, 9, 18, "18:9 Portrait");
            GameViewSize k_18_9_Landscape = new GameViewSize(GameViewSizeType.AspectRatio, 18, 9, "18:9 Landscape");

            GameViewSize k_1080p_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1080, 1920, "1920x1080 Portrait");
            GameViewSize k_1080p_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 1920, 1080, "1920x1080 Landscape");
            GameViewSize k_720p_Portrait   = new GameViewSize(GameViewSizeType.FixedResolution, 720, 1280, "1280x720 Portrait");
            GameViewSize k_720p_Landscape  = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "1280x720 Landscape");

            // iOS
            GameViewSize k_iPhone_750p_Portrait   = new GameViewSize(GameViewSizeType.FixedResolution, 750, 1334, "iPhone 1334x750 Portrait");
            GameViewSize k_iPhone_750p_Landscape  = new GameViewSize(GameViewSizeType.FixedResolution, 1334, 750, "iPhone 1334x750 Landscape");
            GameViewSize k_iPhone_X_Portrait      = new GameViewSize(GameViewSizeType.FixedResolution, 1125, 2436, "iPhone X/XS 2436x1125 Portrait");
            GameViewSize k_iPhone_X_Landscape     = new GameViewSize(GameViewSizeType.FixedResolution, 2436, 1125, "iPhone X/XS 2436x1125 Landscape");
            GameViewSize k_iPhone_828p_Portrait   = new GameViewSize(GameViewSizeType.FixedResolution, 828, 1792, "iPhone XR 1792x828 Portrait");
            GameViewSize k_iPhone_828p_Landscape  = new GameViewSize(GameViewSizeType.FixedResolution, 1792, 828, "iPhone XR 1792x828 Landscape");
            GameViewSize k_iPhone_1242p_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1242, 2688, "iPhone XS Max 2688x1242 Portrait");
            GameViewSize k_iPhone_1242p_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2688, 1242, "iPhone XS Max 2688x1242 Landscape");

            GameViewSize k_iPad_1536p_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2048, 1536, "iPad 2048x1536 Landscape");
            GameViewSize k_iPad_1536p_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1536, 2048, "iPad 2048x1536 Portrait");

            GameViewSize k_iPad_2048p_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2732, 2048, "iPadPro 2732x2048 Landscape");
            GameViewSize k_iPad_2048p_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 2048, 2732, "iPadPro 2732x2048 Portrait");
            GameViewSize k_iPad_1668p_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2224, 1668, "iPadPro 2224x1668 Landscape");
            GameViewSize k_iPad_1668p_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1668, 2224, "iPadPro 2224x1668 Portrait");

            GameViewSize k_iPhone4_Portrait    = new GameViewSize(GameViewSizeType.FixedResolution, 640, 960, "iPhone 4/4S Portrait");
            GameViewSize k_iPhone4_Landscape   = new GameViewSize(GameViewSizeType.FixedResolution, 960, 640, "iPhone 4/4S Landscape");
            GameViewSize k_iPhone5_Portrait    = new GameViewSize(GameViewSizeType.FixedResolution, 640, 1136, "iPhone 5/5S/5C/SE Portrait");
            GameViewSize k_iPhone5_Landscape   = new GameViewSize(GameViewSizeType.FixedResolution, 1136, 640, "iPhone 5/5S/5C/SE Landscape");
            GameViewSize k_iPad_768p_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 768, "iPad 2/Mini Landscape");
            GameViewSize k_iPad_768p_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 768, 1024, "iPad 2/Mini Portrait");

            // Android
            GameViewSize k_800x480_Portrait    = new GameViewSize(GameViewSizeType.FixedResolution, 480, 800, "800x480 Portrait");
            GameViewSize k_800x480_Landscape   = new GameViewSize(GameViewSizeType.FixedResolution, 800, 480, "800x480 Landscape");
            GameViewSize k_2160x1080_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1080, 2160, "2160x1080 Portrait");
            GameViewSize k_2160x1080_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2160, 1080, "2160x1080 Landscape");
            GameViewSize k_2560x1440_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1440, 2560, "2560x1440 Portrait");
            GameViewSize k_2560x1440_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2560, 1440, "2560x1440 Landscape");
            GameViewSize k_2960x1440_Portrait  = new GameViewSize(GameViewSizeType.FixedResolution, 1440, 2960, "2960x1440 Portrait");
            GameViewSize k_2960x1440_Landscape = new GameViewSize(GameViewSizeType.FixedResolution, 2960, 1440, "2960x1440 Landscape");


            m_Standalone.AddBuiltinSizes(kFree, k16_9, k16_10, k_PC_1920x1080, k_PC_1366x768, k_PC_2560x1440, k_PC_3840x2160);

            m_iOS.AddBuiltinSizes(kFree,
                                  k_iPhone_750p_Portrait, k_iPhone_750p_Landscape,
                                  k_1080p_Portrait, k_1080p_Landscape,
                                  k_iPhone_X_Portrait, k_iPhone_X_Landscape,
                                  k_iPhone_828p_Portrait, k_iPhone_828p_Landscape,
                                  k_iPhone_1242p_Portrait, k_iPhone_1242p_Landscape,
                                  k_iPad_1536p_Landscape, k_iPad_1536p_Portrait,
                                  k_iPad_2048p_Landscape, k_iPad_2048p_Portrait,
                                  k_iPad_1668p_Landscape, k_iPad_1668p_Portrait,
                                  k_16_9_Landscape, k_16_9_Portrait,
                                  k_4_3_Landscape, k_4_3_Portrait,
                                  k_iPhone4_Portrait, k_iPhone4_Landscape,
                                  k_iPhone5_Portrait, k_iPhone5_Landscape,
                                  k_iPad_768p_Landscape, k_iPad_768p_Portrait,
                                  m_Remote);

            m_Android.AddBuiltinSizes(kFree,
                                      k_800x480_Portrait, k_800x480_Landscape,
                                      k_720p_Portrait, k_720p_Landscape,
                                      k_1080p_Portrait, k_1080p_Landscape,
                                      k_2160x1080_Portrait, k_2160x1080_Landscape,
                                      k_2560x1440_Portrait, k_2560x1440_Landscape,
                                      k_2960x1440_Portrait, k_2960x1440_Landscape,
                                      k_16_9_Portrait, k_16_9_Landscape,
                                      k_18_9_Portrait, k_18_9_Landscape,
                                      m_Remote);

            m_HMD.AddBuiltinSizes(kFree, m_Remote);
        }
Example #21
0
 public int IndexOf(GameViewSize view)
 {
     int index = this.m_Builtin.IndexOf(view);
     if (index >= 0)
     {
         return index;
     }
     return this.m_Custom.IndexOf(view);
 }
		public override void OnGUI(Rect rect)
		{
			if (GameViewSizesMenuModifyItemUI.s_Styles == null)
			{
				GameViewSizesMenuModifyItemUI.s_Styles = new GameViewSizesMenuModifyItemUI.Styles();
			}
			GameViewSize gameViewSize = this.m_Object as GameViewSize;
			if (gameViewSize == null)
			{
				Debug.LogError("Invalid object");
				return;
			}
			if (this.m_GameViewSize == null)
			{
				this.m_GameViewSize = new GameViewSize(gameViewSize);
			}
			bool flag = this.m_GameViewSize.width > 0 && this.m_GameViewSize.height > 0;
			GUILayout.Space(3f);
			GUILayout.Label((this.m_MenuType != FlexibleMenuModifyItemUI.MenuType.Add) ? GameViewSizesMenuModifyItemUI.s_Styles.headerEdit : GameViewSizesMenuModifyItemUI.s_Styles.headerAdd, EditorStyles.boldLabel, new GUILayoutOption[0]);
			Rect rect2 = GUILayoutUtility.GetRect(1f, 1f);
			FlexibleMenu.DrawRect(rect2, (!EditorGUIUtility.isProSkin) ? new Color(0.6f, 0.6f, 0.6f, 1.333f) : new Color(0.32f, 0.32f, 0.32f, 1.333f));
			GUILayout.Space(4f);
			GUILayout.BeginHorizontal(new GUILayoutOption[0]);
			GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.optionalText, new GUILayoutOption[]
			{
				GUILayout.Width(90f)
			});
			GUILayout.Space(10f);
			this.m_GameViewSize.baseText = EditorGUILayout.TextField(this.m_GameViewSize.baseText, new GUILayoutOption[0]);
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(new GUILayoutOption[0]);
			GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.typeName, new GUILayoutOption[]
			{
				GUILayout.Width(90f)
			});
			GUILayout.Space(10f);
			this.m_GameViewSize.sizeType = (GameViewSizeType)EditorGUILayout.Popup((int)this.m_GameViewSize.sizeType, GameViewSizesMenuModifyItemUI.s_Styles.typeNames, new GUILayoutOption[0]);
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(new GUILayoutOption[0]);
			GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.widthHeightText, new GUILayoutOption[]
			{
				GUILayout.Width(90f)
			});
			GUILayout.Space(10f);
			this.m_GameViewSize.width = EditorGUILayout.IntField(this.m_GameViewSize.width, new GUILayoutOption[0]);
			GUILayout.Space(5f);
			this.m_GameViewSize.height = EditorGUILayout.IntField(this.m_GameViewSize.height, new GUILayoutOption[0]);
			GUILayout.EndHorizontal();
			GUILayout.Space(10f);
			float num = 10f;
			float cropWidth = rect.width - 2f * num;
			GUILayout.BeginHorizontal(new GUILayoutOption[0]);
			GUILayout.Space(num);
			GUILayout.FlexibleSpace();
			string text = this.m_GameViewSize.displayText;
			EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(text));
			if (string.IsNullOrEmpty(text))
			{
				text = "Result";
			}
			else
			{
				text = this.GetCroppedText(text, cropWidth, EditorStyles.label);
			}
			GUILayout.Label(GUIContent.Temp(text), EditorStyles.label, new GUILayoutOption[0]);
			EditorGUI.EndDisabledGroup();
			GUILayout.FlexibleSpace();
			GUILayout.Space(num);
			GUILayout.EndHorizontal();
			GUILayout.Space(5f);
			GUILayout.BeginHorizontal(new GUILayoutOption[0]);
			GUILayout.Space(10f);
			if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.cancel, new GUILayoutOption[0]))
			{
				base.editorWindow.Close();
			}
			EditorGUI.BeginDisabledGroup(!flag);
			if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.ok, new GUILayoutOption[0]))
			{
				gameViewSize.Set(this.m_GameViewSize);
				base.Accepted();
				base.editorWindow.Close();
			}
			EditorGUI.EndDisabledGroup();
			GUILayout.Space(10f);
			GUILayout.EndHorizontal();
		}
Example #23
0
        public static Vector2 GetRenderTargetSize(Rect startRect, GameViewSizeGroupType groupType, int gameViewSizeIndex, out bool clamped)
        {
            GameViewSize gameViewSize = GameViewSizes.instance.GetGroup(groupType).GetGameViewSize(gameViewSizeIndex);

            RefreshDerivedGameViewSize(groupType, gameViewSizeIndex, gameViewSize);
            Vector2 targetSize;

            clamped = false;

            // Free aspect takes up all available pixels by default
            if (gameViewSize.isFreeAspectRatio)
            {
                targetSize = startRect.size;
            }
            else
            {
                switch (gameViewSize.sizeType)
                {
                // Aspect ratio is enforced, but fills up as much game view as it can
                case GameViewSizeType.AspectRatio:
                {
                    if (startRect.height == 0f || gameViewSize.aspectRatio == 0f)
                    {
                        targetSize = Vector2.zero;
                        break;
                    }
                    var startRatio = startRect.width / startRect.height;
                    if (startRatio < gameViewSize.aspectRatio)
                    {
                        targetSize = new Vector2(startRect.width, Mathf.Round(startRect.width / gameViewSize.aspectRatio));
                    }
                    else
                    {
                        targetSize = new Vector2(Mathf.Round(startRect.height * gameViewSize.aspectRatio), startRect.height);
                    }
                }
                break;

                // Fixed resolution is fixed, but scaled down to fit, or scaled up to largest possible integer
                case GameViewSizeType.FixedResolution:
                {
                    targetSize = new Vector2(gameViewSize.width, gameViewSize.height);
                }
                break;

                default:
                    throw new ArgumentException("Unrecognized size type");
                }
            }

            // Prevent ludicrous render target sizes. Heuristics based on:
            // - GPU supported max. texture size
            // - "should be enough for anyone" (i.e. more than 8K resolution)
            // - Available VRAM
            //
            // The reason is that while GPUs support large textures (e.g. 16k x 16k), trying to
            // actually create one will just make you run out of memory. VRAM size estimate that we
            // have is also only very approximate.
            // Let's assume we can use 20% of VRAM for game view render target;
            // and that we need 12 bytes/pixel (4 for color, double buffered, 4 for depth).
            // Figure out what's the max texture area that fits there.
            var maxVRAMArea = SystemInfo.graphicsMemorySize * 0.20f / 12f * 1024f * 1024f;

            var targetArea = targetSize.x * targetSize.y;

            if (targetArea > maxVRAMArea)
            {
                var aspect = targetSize.y / targetSize.x;
                targetSize.x = Mathf.Sqrt(maxVRAMArea * aspect);
                targetSize.y = aspect * targetSize.x;
                clamped      = true;
            }

            // Over 8K resolution (7680x4320) should be enough for anyone (tm)
            var maxResolutionSize = 8192f;
            var maxSize           = Mathf.Min(SystemInfo.maxRenderTextureSize, maxResolutionSize);

            if (targetSize.x > maxSize || targetSize.y > maxSize)
            {
                if (targetSize.x > targetSize.y)
                {
                    targetSize *= maxSize / targetSize.x;
                }
                else
                {
                    targetSize *= maxSize / targetSize.y;
                }
                clamped = true;
            }

            return(targetSize);
        }
Example #24
0
 private static void RefreshDerivedGameViewSize(GameViewSizeGroupType groupType, int gameViewSizeIndex, GameViewSize gameViewSize)
 {
     if (ScriptableSingleton <GameViewSizes> .instance.IsDefaultStandaloneScreenSize(groupType, gameViewSizeIndex))
     {
         gameViewSize.width  = (int)InternalEditorUtility.defaultScreenWidth;
         gameViewSize.height = (int)InternalEditorUtility.defaultScreenHeight;
     }
     else if (ScriptableSingleton <GameViewSizes> .instance.IsDefaultWebPlayerScreenSize(groupType, gameViewSizeIndex))
     {
         gameViewSize.width  = (int)InternalEditorUtility.defaultWebScreenWidth;
         gameViewSize.height = (int)InternalEditorUtility.defaultWebScreenHeight;
     }
     else
     {
         if (!ScriptableSingleton <GameViewSizes> .instance.IsRemoteScreenSize(groupType, gameViewSizeIndex))
         {
             return;
         }
         if ((double)InternalEditorUtility.remoteScreenWidth <= 0.0 || (double)InternalEditorUtility.remoteScreenHeight <= 0.0)
         {
             gameViewSize.sizeType = GameViewSizeType.AspectRatio;
             GameViewSize gameViewSize1 = gameViewSize;
             int          num1          = 0;
             gameViewSize.height = num1;
             int num2 = num1;
             gameViewSize1.width = num2;
         }
         else
         {
             gameViewSize.sizeType = GameViewSizeType.FixedResolution;
             gameViewSize.width    = (int)InternalEditorUtility.remoteScreenWidth;
             gameViewSize.height   = (int)InternalEditorUtility.remoteScreenHeight;
         }
     }
 }
Example #25
0
 public GameViewSize(GameViewSize other)
 {
     this.Set(other);
 }
        public override void OnGUI(Rect rect)
        {
            if (GameViewSizesMenuModifyItemUI.s_Styles == null)
            {
                GameViewSizesMenuModifyItemUI.s_Styles = new GameViewSizesMenuModifyItemUI.Styles();
            }
            GameViewSize other = this.m_Object as GameViewSize;

            if (other == null)
            {
                Debug.LogError((object)"Invalid object");
            }
            else
            {
                if (this.m_GameViewSize == null)
                {
                    this.m_GameViewSize = new GameViewSize(other);
                }
                bool flag = this.m_GameViewSize.width > 0 && this.m_GameViewSize.height > 0;
                GUILayout.Space(3f);
                GUILayout.Label(this.m_MenuType != FlexibleMenuModifyItemUI.MenuType.Add ? GameViewSizesMenuModifyItemUI.s_Styles.headerEdit : GameViewSizesMenuModifyItemUI.s_Styles.headerAdd, EditorStyles.boldLabel, new GUILayoutOption[0]);
                FlexibleMenu.DrawRect(GUILayoutUtility.GetRect(1f, 1f), !EditorGUIUtility.isProSkin ? new Color(0.6f, 0.6f, 0.6f, 1.333f) : new Color(0.32f, 0.32f, 0.32f, 1.333f));
                GUILayout.Space(4f);
                GUILayout.BeginHorizontal();
                GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.optionalText, new GUILayoutOption[1]
                {
                    GUILayout.Width(90f)
                });
                GUILayout.Space(10f);
                this.m_GameViewSize.baseText = EditorGUILayout.TextField(this.m_GameViewSize.baseText);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.typeName, new GUILayoutOption[1]
                {
                    GUILayout.Width(90f)
                });
                GUILayout.Space(10f);
                this.m_GameViewSize.sizeType = (GameViewSizeType)EditorGUILayout.Popup((int)this.m_GameViewSize.sizeType, GameViewSizesMenuModifyItemUI.s_Styles.typeNames);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.widthHeightText, new GUILayoutOption[1]
                {
                    GUILayout.Width(90f)
                });
                GUILayout.Space(10f);
                this.m_GameViewSize.width = EditorGUILayout.IntField(this.m_GameViewSize.width);
                GUILayout.Space(5f);
                this.m_GameViewSize.height = EditorGUILayout.IntField(this.m_GameViewSize.height);
                GUILayout.EndHorizontal();
                GUILayout.Space(10f);
                float pixels    = 10f;
                float cropWidth = rect.width - 2f * pixels;
                GUILayout.BeginHorizontal();
                GUILayout.Space(pixels);
                GUILayout.FlexibleSpace();
                string displayText = this.m_GameViewSize.displayText;
                EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(displayText));
                GUILayout.Label(GUIContent.Temp(!string.IsNullOrEmpty(displayText) ? this.GetCroppedText(displayText, cropWidth, EditorStyles.label) : "Result"), EditorStyles.label, new GUILayoutOption[0]);
                EditorGUI.EndDisabledGroup();
                GUILayout.FlexibleSpace();
                GUILayout.Space(pixels);
                GUILayout.EndHorizontal();
                GUILayout.Space(5f);
                GUILayout.BeginHorizontal();
                GUILayout.Space(10f);
                if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.cancel))
                {
                    this.editorWindow.Close();
                }
                EditorGUI.BeginDisabledGroup(!flag);
                if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.ok))
                {
                    other.Set(this.m_GameViewSize);
                    this.Accepted();
                    this.editorWindow.Close();
                }
                EditorGUI.EndDisabledGroup();
                GUILayout.Space(10f);
                GUILayout.EndHorizontal();
            }
        }
 public void AddCustomSize(GameViewSize size)
 {
     m_Custom.Add(size);
     GameViewSizes.instance.Changed();
 }
Example #28
0
 public GameViewSize(GameViewSize other)
 {
     Set(other);
 }
Example #29
0
        private void InitBuiltinGroups()
        {
            bool flag = this.m_Standalone.GetBuiltinCount() > 0;

            if (!flag)
            {
                this.m_Remote = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Remote (Not Connected)");
                GameViewSize gameViewSize   = new GameViewSize(GameViewSizeType.AspectRatio, 0, 0, "Free Aspect");
                GameViewSize gameViewSize2  = new GameViewSize(GameViewSizeType.AspectRatio, 5, 4, "");
                GameViewSize gameViewSize3  = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, "");
                GameViewSize gameViewSize4  = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "");
                GameViewSize gameViewSize5  = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, "");
                GameViewSize gameViewSize6  = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "");
                GameViewSize gameViewSize7  = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Standalone");
                GameViewSize gameViewSize8  = new GameViewSize(GameViewSizeType.FixedResolution, 320, 480, "iPhone Tall");
                GameViewSize gameViewSize9  = new GameViewSize(GameViewSizeType.FixedResolution, 480, 320, "iPhone Wide");
                GameViewSize gameViewSize10 = new GameViewSize(GameViewSizeType.FixedResolution, 640, 960, "iPhone 4 Tall");
                GameViewSize gameViewSize11 = new GameViewSize(GameViewSizeType.FixedResolution, 960, 640, "iPhone 4 Wide");
                GameViewSize gameViewSize12 = new GameViewSize(GameViewSizeType.FixedResolution, 768, 1024, "iPad Tall");
                GameViewSize gameViewSize13 = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 768, "iPad Wide");
                GameViewSize gameViewSize14 = new GameViewSize(GameViewSizeType.AspectRatio, 9, 16, "iPhone 5 Tall");
                GameViewSize gameViewSize15 = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "iPhone 5 Wide");
                GameViewSize gameViewSize16 = new GameViewSize(GameViewSizeType.AspectRatio, 2, 3, "iPhone Tall");
                GameViewSize gameViewSize17 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "iPhone Wide");
                GameViewSize gameViewSize18 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 4, "iPad Tall");
                GameViewSize gameViewSize19 = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, "iPad Wide");
                GameViewSize gameViewSize20 = new GameViewSize(GameViewSizeType.FixedResolution, 320, 480, "HVGA Portrait");
                GameViewSize gameViewSize21 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 320, "HVGA Landscape");
                GameViewSize gameViewSize22 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 800, "WVGA Portrait");
                GameViewSize gameViewSize23 = new GameViewSize(GameViewSizeType.FixedResolution, 800, 480, "WVGA Landscape");
                GameViewSize gameViewSize24 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 854, "FWVGA Portrait");
                GameViewSize gameViewSize25 = new GameViewSize(GameViewSizeType.FixedResolution, 854, 480, "FWVGA Landscape");
                GameViewSize gameViewSize26 = new GameViewSize(GameViewSizeType.FixedResolution, 600, 1024, "WSVGA Portrait");
                GameViewSize gameViewSize27 = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 600, "WSVGA Landscape");
                GameViewSize gameViewSize28 = new GameViewSize(GameViewSizeType.FixedResolution, 800, 1280, "WXGA Portrait");
                GameViewSize gameViewSize29 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 800, "WXGA Landscape");
                GameViewSize gameViewSize30 = new GameViewSize(GameViewSizeType.AspectRatio, 2, 3, "3:2 Portrait");
                GameViewSize gameViewSize31 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "3:2 Landscape");
                GameViewSize gameViewSize32 = new GameViewSize(GameViewSizeType.AspectRatio, 10, 16, "16:10 Portrait");
                GameViewSize gameViewSize33 = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, "16:10 Landscape");
                GameViewSize gameViewSize34 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "16:9 Landscape");
                GameViewSize gameViewSize35 = new GameViewSize(GameViewSizeType.FixedResolution, 720, 1280, "9:16 Portrait");
                GameViewSize gameViewSize36 = new GameViewSize(GameViewSizeType.FixedResolution, 400, 240, "Top Screen");
                GameViewSize gameViewSize37 = new GameViewSize(GameViewSizeType.FixedResolution, 320, 240, "Bottom Screen");
                this.m_Standalone.AddBuiltinSizes(new GameViewSize[]
                {
                    gameViewSize,
                    gameViewSize2,
                    gameViewSize3,
                    gameViewSize4,
                    gameViewSize5,
                    gameViewSize6,
                    gameViewSize7
                });
                this.m_iOS.AddBuiltinSizes(new GameViewSize[]
                {
                    gameViewSize,
                    gameViewSize8,
                    gameViewSize9,
                    gameViewSize10,
                    gameViewSize11,
                    gameViewSize12,
                    gameViewSize13,
                    gameViewSize14,
                    gameViewSize15,
                    gameViewSize16,
                    gameViewSize17,
                    gameViewSize18,
                    gameViewSize19
                });
                this.m_Android.AddBuiltinSizes(new GameViewSize[]
                {
                    gameViewSize,
                    this.m_Remote,
                    gameViewSize20,
                    gameViewSize21,
                    gameViewSize22,
                    gameViewSize23,
                    gameViewSize24,
                    gameViewSize25,
                    gameViewSize26,
                    gameViewSize27,
                    gameViewSize28,
                    gameViewSize29,
                    gameViewSize30,
                    gameViewSize31,
                    gameViewSize32,
                    gameViewSize33
                });
                this.m_Tizen.AddBuiltinSizes(new GameViewSize[]
                {
                    gameViewSize,
                    gameViewSize34,
                    gameViewSize35
                });
                this.m_N3DS.AddBuiltinSizes(new GameViewSize[]
                {
                    gameViewSize,
                    gameViewSize36,
                    gameViewSize37
                });
                this.m_HMD.AddBuiltinSizes(new GameViewSize[]
                {
                    gameViewSize,
                    this.m_Remote
                });
            }
        }
 public void AddBuiltinSize(GameViewSize size)
 {
     this.m_Builtin.Add(size);
     ScriptableSingleton <GameViewSizes> .instance.Changed();
 }
Example #31
0
        public static Vector2 GetRenderTargetSize(Rect startRect, GameViewSizeGroupType groupType, int gameViewSizeIndex, out bool clamped)
        {
            GameViewSize gameViewSize = ScriptableSingleton <GameViewSizes> .instance.GetGroup(groupType).GetGameViewSize(gameViewSizeIndex);

            GameViewSizes.RefreshDerivedGameViewSize(groupType, gameViewSizeIndex, gameViewSize);
            clamped = false;
            Vector2 vector;

            if (gameViewSize.isFreeAspectRatio)
            {
                vector = startRect.size;
            }
            else
            {
                GameViewSizeType sizeType = gameViewSize.sizeType;
                if (sizeType != GameViewSizeType.AspectRatio)
                {
                    if (sizeType != GameViewSizeType.FixedResolution)
                    {
                        throw new ArgumentException("Unrecognized size type");
                    }
                    vector = new Vector2((float)gameViewSize.width, (float)gameViewSize.height);
                }
                else if (startRect.height == 0f || gameViewSize.aspectRatio == 0f)
                {
                    vector = Vector2.zero;
                }
                else
                {
                    float num = startRect.width / startRect.height;
                    if (num < gameViewSize.aspectRatio)
                    {
                        vector = new Vector2(startRect.width, startRect.width / gameViewSize.aspectRatio);
                    }
                    else
                    {
                        vector = new Vector2(startRect.height * gameViewSize.aspectRatio, startRect.height);
                    }
                }
            }
            float num2 = (float)SystemInfo.graphicsMemorySize * 0.2f / 12f * 1024f * 1024f;
            float num3 = vector.x * vector.y;

            if (num3 > num2)
            {
                float num4 = vector.y / vector.x;
                vector.x = Mathf.Sqrt(num2 * num4);
                vector.y = num4 * vector.x;
                clamped  = true;
            }
            float b    = 8192f;
            float num5 = Mathf.Min((float)SystemInfo.maxRenderTextureSize, b);

            if (vector.x > num5 || vector.y > num5)
            {
                if (vector.x > vector.y)
                {
                    vector *= num5 / vector.x;
                }
                else
                {
                    vector *= num5 / vector.y;
                }
                clamped = true;
            }
            return(vector);
        }
 public void AddBuiltinSize(GameViewSize size)
 {
     m_Builtin.Add(size);
     GameViewSizes.instance.Changed();
 }
Example #33
0
        public override void OnGUI(Rect rect)
        {
            if (GameViewSizesMenuModifyItemUI.s_Styles == null)
            {
                GameViewSizesMenuModifyItemUI.s_Styles = new GameViewSizesMenuModifyItemUI.Styles();
            }
            GameViewSize gameViewSize = this.m_Object as GameViewSize;

            if (gameViewSize == null)
            {
                Debug.LogError("Invalid object");
            }
            else
            {
                if (this.m_GameViewSize == null)
                {
                    this.m_GameViewSize = new GameViewSize(gameViewSize);
                }
                bool flag = this.m_GameViewSize.width > 0 && this.m_GameViewSize.height > 0;
                GUILayout.Space(3f);
                GUILayout.Label((this.m_MenuType != FlexibleMenuModifyItemUI.MenuType.Add) ? GameViewSizesMenuModifyItemUI.s_Styles.headerEdit : GameViewSizesMenuModifyItemUI.s_Styles.headerAdd, EditorStyles.boldLabel, new GUILayoutOption[0]);
                Rect rect2 = GUILayoutUtility.GetRect(1f, 1f);
                FlexibleMenu.DrawRect(rect2, (!EditorGUIUtility.isProSkin) ? new Color(0.6f, 0.6f, 0.6f, 1.333f) : new Color(0.32f, 0.32f, 0.32f, 1.333f));
                GUILayout.Space(4f);
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.optionalText, new GUILayoutOption[]
                {
                    GUILayout.Width(90f)
                });
                GUILayout.Space(10f);
                this.m_GameViewSize.baseText = EditorGUILayout.TextField(this.m_GameViewSize.baseText, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.typeName, new GUILayoutOption[]
                {
                    GUILayout.Width(90f)
                });
                GUILayout.Space(10f);
                this.m_GameViewSize.sizeType = (GameViewSizeType)EditorGUILayout.Popup((int)this.m_GameViewSize.sizeType, GameViewSizesMenuModifyItemUI.s_Styles.typeNames, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Label(GameViewSizesMenuModifyItemUI.s_Styles.widthHeightText, new GUILayoutOption[]
                {
                    GUILayout.Width(90f)
                });
                GUILayout.Space(10f);
                this.m_GameViewSize.width = EditorGUILayout.IntField(this.m_GameViewSize.width, new GUILayoutOption[0]);
                GUILayout.Space(5f);
                this.m_GameViewSize.height = EditorGUILayout.IntField(this.m_GameViewSize.height, new GUILayoutOption[0]);
                GUILayout.EndHorizontal();
                GUILayout.Space(10f);
                float num       = 10f;
                float cropWidth = rect.width - 2f * num;
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Space(num);
                GUILayout.FlexibleSpace();
                string text = this.m_GameViewSize.displayText;
                using (new EditorGUI.DisabledScope(string.IsNullOrEmpty(text)))
                {
                    if (string.IsNullOrEmpty(text))
                    {
                        text = "Result";
                    }
                    else
                    {
                        text = this.GetCroppedText(text, cropWidth, EditorStyles.label);
                    }
                    GUILayout.Label(GUIContent.Temp(text), EditorStyles.label, new GUILayoutOption[0]);
                }
                GUILayout.FlexibleSpace();
                GUILayout.Space(num);
                GUILayout.EndHorizontal();
                GUILayout.Space(5f);
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.Space(10f);
                if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.cancel, new GUILayoutOption[0]))
                {
                    base.editorWindow.Close();
                }
                using (new EditorGUI.DisabledScope(!flag))
                {
                    if (GUILayout.Button(GameViewSizesMenuModifyItemUI.s_Styles.ok, new GUILayoutOption[0]))
                    {
                        gameViewSize.Set(this.m_GameViewSize);
                        base.Accepted();
                        base.editorWindow.Close();
                    }
                }
                GUILayout.Space(10f);
                GUILayout.EndHorizontal();
            }
        }
Example #34
0
 private static void RefreshDerivedGameViewSize(GameViewSizeGroupType groupType, int gameViewSizeIndex, GameViewSize gameViewSize)
 {
     if (ScriptableSingleton <GameViewSizes> .instance.IsDefaultStandaloneScreenSize(groupType, gameViewSizeIndex))
     {
         gameViewSize.width  = (int)InternalEditorUtility.defaultScreenWidth;
         gameViewSize.height = (int)InternalEditorUtility.defaultScreenHeight;
     }
     else if (ScriptableSingleton <GameViewSizes> .instance.IsRemoteScreenSize(groupType, gameViewSizeIndex))
     {
         if (InternalEditorUtility.remoteScreenWidth <= 0f || InternalEditorUtility.remoteScreenHeight <= 0f)
         {
             gameViewSize.sizeType = GameViewSizeType.AspectRatio;
             int num = 0;
             gameViewSize.height = num;
             gameViewSize.width  = num;
         }
         else
         {
             gameViewSize.sizeType = GameViewSizeType.FixedResolution;
             gameViewSize.width    = (int)InternalEditorUtility.remoteScreenWidth;
             gameViewSize.height   = (int)InternalEditorUtility.remoteScreenHeight;
         }
     }
 }
 public void AddBuiltinSize(GameViewSize size)
 {
   this.m_Builtin.Add(size);
   ScriptableSingleton<GameViewSizes>.instance.Changed();
 }
Example #36
0
        private void InitBuiltinGroups()
        {
            if (this.m_Standalone.GetBuiltinCount() > 0)
            {
                return;
            }
            this.m_Remote = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Remote (Not Connected)");
            GameViewSize gameViewSize1  = new GameViewSize(GameViewSizeType.AspectRatio, 0, 0, "Free Aspect");
            GameViewSize gameViewSize2  = new GameViewSize(GameViewSizeType.AspectRatio, 5, 4, string.Empty);
            GameViewSize gameViewSize3  = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, string.Empty);
            GameViewSize gameViewSize4  = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, string.Empty);
            GameViewSize gameViewSize5  = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, string.Empty);
            GameViewSize gameViewSize6  = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, string.Empty);
            GameViewSize gameViewSize7  = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Standalone");
            GameViewSize gameViewSize8  = new GameViewSize(GameViewSizeType.FixedResolution, 0, 0, "Web");
            GameViewSize gameViewSize9  = new GameViewSize(GameViewSizeType.FixedResolution, 320, 480, "iPhone Tall");
            GameViewSize gameViewSize10 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 320, "iPhone Wide");
            GameViewSize gameViewSize11 = new GameViewSize(GameViewSizeType.FixedResolution, 640, 960, "iPhone 4 Tall");
            GameViewSize gameViewSize12 = new GameViewSize(GameViewSizeType.FixedResolution, 960, 640, "iPhone 4 Wide");
            GameViewSize gameViewSize13 = new GameViewSize(GameViewSizeType.FixedResolution, 768, 1024, "iPad Tall");
            GameViewSize gameViewSize14 = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 768, "iPad Wide");
            GameViewSize gameViewSize15 = new GameViewSize(GameViewSizeType.AspectRatio, 9, 16, "iPhone 5 Tall");
            GameViewSize gameViewSize16 = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "iPhone 5 Wide");
            GameViewSize gameViewSize17 = new GameViewSize(GameViewSizeType.AspectRatio, 2, 3, "iPhone Tall");
            GameViewSize gameViewSize18 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "iPhone Wide");
            GameViewSize gameViewSize19 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 4, "iPad Tall");
            GameViewSize gameViewSize20 = new GameViewSize(GameViewSizeType.AspectRatio, 4, 3, "iPad Wide");
            GameViewSize gameViewSize21 = new GameViewSize(GameViewSizeType.FixedResolution, 320, 480, "HVGA Portrait");
            GameViewSize gameViewSize22 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 320, "HVGA Landscape");
            GameViewSize gameViewSize23 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 800, "WVGA Portrait");
            GameViewSize gameViewSize24 = new GameViewSize(GameViewSizeType.FixedResolution, 800, 480, "WVGA Landscape");
            GameViewSize gameViewSize25 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 854, "FWVGA Portrait");
            GameViewSize gameViewSize26 = new GameViewSize(GameViewSizeType.FixedResolution, 854, 480, "FWVGA Landscape");
            GameViewSize gameViewSize27 = new GameViewSize(GameViewSizeType.FixedResolution, 600, 1024, "WSVGA Portrait");
            GameViewSize gameViewSize28 = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 600, "WSVGA Landscape");
            GameViewSize gameViewSize29 = new GameViewSize(GameViewSizeType.FixedResolution, 800, 1280, "WXGA Portrait");
            GameViewSize gameViewSize30 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 800, "WXGA Landscape");
            GameViewSize gameViewSize31 = new GameViewSize(GameViewSizeType.AspectRatio, 2, 3, "3:2 Portrait");
            GameViewSize gameViewSize32 = new GameViewSize(GameViewSizeType.AspectRatio, 3, 2, "3:2 Landscape");
            GameViewSize gameViewSize33 = new GameViewSize(GameViewSizeType.AspectRatio, 10, 16, "16:10 Portrait");
            GameViewSize gameViewSize34 = new GameViewSize(GameViewSizeType.AspectRatio, 16, 10, "16:10 Landscape");
            GameViewSize gameViewSize35 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "720p (16:9)");
            GameViewSize gameViewSize36 = new GameViewSize(GameViewSizeType.FixedResolution, 1920, 1080, "1080p (16:9)");
            GameViewSize gameViewSize37 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "720p (16:9)");
            GameViewSize gameViewSize38 = new GameViewSize(GameViewSizeType.FixedResolution, 720, 576, "576p (4:3)");
            GameViewSize gameViewSize39 = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 576, "576p (16:9)");
            GameViewSize gameViewSize40 = new GameViewSize(GameViewSizeType.FixedResolution, 640, 480, "480p (4:3)");
            GameViewSize gameViewSize41 = new GameViewSize(GameViewSizeType.FixedResolution, 853, 480, "480p (16:9)");
            GameViewSize gameViewSize42 = new GameViewSize(GameViewSizeType.FixedResolution, 720, 1280, "Touch Phone Portrait");
            GameViewSize gameViewSize43 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "Touch Phone Landscape");
            GameViewSize gameViewSize44 = new GameViewSize(GameViewSizeType.FixedResolution, 720, 720, "Keyboard Phone");
            GameViewSize gameViewSize45 = new GameViewSize(GameViewSizeType.FixedResolution, 600, 1024, "Playbook Portrait");
            GameViewSize gameViewSize46 = new GameViewSize(GameViewSizeType.FixedResolution, 1024, 600, "Playbook Landscape");
            GameViewSize gameViewSize47 = new GameViewSize(GameViewSizeType.AspectRatio, 9, 16, "9:16 Portrait");
            GameViewSize gameViewSize48 = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "16:9 Landscape");
            GameViewSize gameViewSize49 = new GameViewSize(GameViewSizeType.AspectRatio, 1, 1, "1:1");
            GameViewSize gameViewSize50 = new GameViewSize(GameViewSizeType.FixedResolution, 1920, 1080, "1080p (16:9)");
            GameViewSize gameViewSize51 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "720p (16:9)");
            GameViewSize gameViewSize52 = new GameViewSize(GameViewSizeType.FixedResolution, 854, 480, "GamePad 480p (16:9)");
            GameViewSize gameViewSize53 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "16:9 Landscape");
            GameViewSize gameViewSize54 = new GameViewSize(GameViewSizeType.FixedResolution, 720, 1280, "9:16 Portrait");
            GameViewSize gameViewSize55 = new GameViewSize(GameViewSizeType.FixedResolution, 480, 800, "WVGA Portrait");
            GameViewSize gameViewSize56 = new GameViewSize(GameViewSizeType.FixedResolution, 800, 480, "WVGA Landscape");
            GameViewSize gameViewSize57 = new GameViewSize(GameViewSizeType.FixedResolution, 768, 1280, "WXGA Portrait");
            GameViewSize gameViewSize58 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 768, "WXGA Landscape");
            GameViewSize gameViewSize59 = new GameViewSize(GameViewSizeType.FixedResolution, 720, 1280, "720p Portrait");
            GameViewSize gameViewSize60 = new GameViewSize(GameViewSizeType.FixedResolution, 1280, 720, "720p Landscape");
            GameViewSize gameViewSize61 = new GameViewSize(GameViewSizeType.AspectRatio, 9, 15, "WVGA Portrait");
            GameViewSize gameViewSize62 = new GameViewSize(GameViewSizeType.AspectRatio, 15, 9, "WVGA Landscape");
            GameViewSize gameViewSize63 = new GameViewSize(GameViewSizeType.AspectRatio, 9, 15, "WXGA Portrait");
            GameViewSize gameViewSize64 = new GameViewSize(GameViewSizeType.AspectRatio, 15, 9, "WXGA Landscape");
            GameViewSize gameViewSize65 = new GameViewSize(GameViewSizeType.AspectRatio, 9, 16, "720p Portrait");
            GameViewSize gameViewSize66 = new GameViewSize(GameViewSizeType.AspectRatio, 16, 9, "720p Landscape");
            GameViewSize gameViewSize67 = new GameViewSize(GameViewSizeType.FixedResolution, 400, 240, "Top Screen");
            GameViewSize gameViewSize68 = new GameViewSize(GameViewSizeType.FixedResolution, 320, 240, "Bottom Screen");

            this.m_WP8.AddBuiltinSizes(gameViewSize1, gameViewSize55, gameViewSize61, gameViewSize56, gameViewSize62, gameViewSize57, gameViewSize63, gameViewSize58, gameViewSize64, gameViewSize59, gameViewSize65, gameViewSize60, gameViewSize66);
            this.m_Standalone.AddBuiltinSizes(gameViewSize1, gameViewSize2, gameViewSize3, gameViewSize4, gameViewSize5, gameViewSize6, gameViewSize7);
            this.m_WebPlayer.AddBuiltinSizes(gameViewSize1, gameViewSize2, gameViewSize3, gameViewSize4, gameViewSize5, gameViewSize6, gameViewSize8);
            this.m_PS3.AddBuiltinSizes(gameViewSize1, gameViewSize3, gameViewSize6, gameViewSize5, gameViewSize36, gameViewSize37, gameViewSize38, gameViewSize39, gameViewSize40, gameViewSize41);
            this.m_XBox360.AddBuiltinSizes(gameViewSize1, gameViewSize3, gameViewSize6, gameViewSize5, gameViewSize35);
            this.m_WiiU.AddBuiltinSizes(gameViewSize1, gameViewSize3, gameViewSize6, gameViewSize50, gameViewSize51, gameViewSize52);
            this.m_iOS.AddBuiltinSizes(gameViewSize1, gameViewSize9, gameViewSize10, gameViewSize11, gameViewSize12, gameViewSize13, gameViewSize14, gameViewSize15, gameViewSize16, gameViewSize17, gameViewSize18, gameViewSize19, gameViewSize20);
            this.m_Android.AddBuiltinSizes(gameViewSize1, this.m_Remote, gameViewSize21, gameViewSize22, gameViewSize23, gameViewSize24, gameViewSize25, gameViewSize26, gameViewSize27, gameViewSize28, gameViewSize29, gameViewSize30, gameViewSize31, gameViewSize32, gameViewSize33, gameViewSize34);
            this.m_BB10.AddBuiltinSizes(gameViewSize1, gameViewSize42, gameViewSize43, gameViewSize44, gameViewSize45, gameViewSize46, gameViewSize47, gameViewSize48, gameViewSize49);
            this.m_Tizen.AddBuiltinSizes(gameViewSize1, gameViewSize53, gameViewSize54);
            this.m_Nintendo3DS.AddBuiltinSizes(gameViewSize1, gameViewSize67, gameViewSize68);
        }
 public override void OnClose()
 {
     this.m_GameViewSize = null;
     base.OnClose();
 }
Example #38
0
        private static void RefreshDerivedGameViewSize(GameViewSizeGroupType groupType, int gameViewSizeIndex, GameViewSize gameViewSize)
        {
            if (GameViewSizes.instance.IsRemoteScreenSize(groupType, gameViewSizeIndex))
            {
                int width  = 0;
                int height = 0;
                if (UnityEngine.XR.XRSettings.isDeviceActive)
                {
                    width  = UnityEngine.XR.XRSettings.eyeTextureWidth;
                    height = UnityEngine.XR.XRSettings.eyeTextureHeight;
                }
                else
                {
                    width  = (int)InternalEditorUtility.remoteScreenWidth;
                    height = (int)InternalEditorUtility.remoteScreenHeight;
                }

                if (width > 0 && height > 0)
                {
                    gameViewSize.sizeType = GameViewSizeType.FixedResolution;
                    gameViewSize.width    = width;
                    gameViewSize.height   = height;
                }
                else
                {
                    // Free aspect if invalid remote width or height
                    gameViewSize.sizeType = GameViewSizeType.AspectRatio;
                    gameViewSize.width    = gameViewSize.height = 0;
                }
            }
        }
 public void AddCustomSize(GameViewSize size)
 {
     this.m_Custom.Add(size);
     ScriptableSingleton <GameViewSizes> .instance.Changed();
 }
 public override void OnGUI(Rect rect)
 {
     if (s_Styles == null)
     {
         s_Styles = new Styles();
     }
     GameViewSize other = base.m_Object as GameViewSize;
     if (other == null)
     {
         Debug.LogError("Invalid object");
     }
     else
     {
         if (this.m_GameViewSize == null)
         {
             this.m_GameViewSize = new GameViewSize(other);
         }
         bool flag = (this.m_GameViewSize.width > 0) && (this.m_GameViewSize.height > 0);
         GUILayout.Space(3f);
         GUILayout.Label((base.m_MenuType != FlexibleMenuModifyItemUI.MenuType.Add) ? s_Styles.headerEdit : s_Styles.headerAdd, EditorStyles.boldLabel, new GUILayoutOption[0]);
         FlexibleMenu.DrawRect(GUILayoutUtility.GetRect((float) 1f, (float) 1f), !EditorGUIUtility.isProSkin ? new Color(0.6f, 0.6f, 0.6f, 1.333f) : new Color(0.32f, 0.32f, 0.32f, 1.333f));
         GUILayout.Space(4f);
         GUILayout.BeginHorizontal(new GUILayoutOption[0]);
         GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.Width(90f) };
         GUILayout.Label(s_Styles.optionalText, options);
         GUILayout.Space(10f);
         this.m_GameViewSize.baseText = EditorGUILayout.TextField(this.m_GameViewSize.baseText, new GUILayoutOption[0]);
         GUILayout.EndHorizontal();
         GUILayout.BeginHorizontal(new GUILayoutOption[0]);
         GUILayoutOption[] optionArray2 = new GUILayoutOption[] { GUILayout.Width(90f) };
         GUILayout.Label(s_Styles.typeName, optionArray2);
         GUILayout.Space(10f);
         this.m_GameViewSize.sizeType = (GameViewSizeType) EditorGUILayout.Popup((int) this.m_GameViewSize.sizeType, s_Styles.typeNames, new GUILayoutOption[0]);
         GUILayout.EndHorizontal();
         GUILayout.BeginHorizontal(new GUILayoutOption[0]);
         GUILayoutOption[] optionArray3 = new GUILayoutOption[] { GUILayout.Width(90f) };
         GUILayout.Label(s_Styles.widthHeightText, optionArray3);
         GUILayout.Space(10f);
         this.m_GameViewSize.width = EditorGUILayout.IntField(this.m_GameViewSize.width, new GUILayoutOption[0]);
         GUILayout.Space(5f);
         this.m_GameViewSize.height = EditorGUILayout.IntField(this.m_GameViewSize.height, new GUILayoutOption[0]);
         GUILayout.EndHorizontal();
         GUILayout.Space(10f);
         float pixels = 10f;
         float cropWidth = rect.width - (2f * pixels);
         GUILayout.BeginHorizontal(new GUILayoutOption[0]);
         GUILayout.Space(pixels);
         GUILayout.FlexibleSpace();
         string displayText = this.m_GameViewSize.displayText;
         EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(displayText));
         if (string.IsNullOrEmpty(displayText))
         {
             displayText = "Result";
         }
         else
         {
             displayText = this.GetCroppedText(displayText, cropWidth, EditorStyles.label);
         }
         GUILayout.Label(GUIContent.Temp(displayText), EditorStyles.label, new GUILayoutOption[0]);
         EditorGUI.EndDisabledGroup();
         GUILayout.FlexibleSpace();
         GUILayout.Space(pixels);
         GUILayout.EndHorizontal();
         GUILayout.Space(5f);
         GUILayout.BeginHorizontal(new GUILayoutOption[0]);
         GUILayout.Space(10f);
         if (GUILayout.Button(s_Styles.cancel, new GUILayoutOption[0]))
         {
             base.editorWindow.Close();
         }
         EditorGUI.BeginDisabledGroup(!flag);
         if (GUILayout.Button(s_Styles.ok, new GUILayoutOption[0]))
         {
             other.Set(this.m_GameViewSize);
             base.Accepted();
             base.editorWindow.Close();
         }
         EditorGUI.EndDisabledGroup();
         GUILayout.Space(10f);
         GUILayout.EndHorizontal();
     }
 }