Exemple #1
0
        protected void ResizeImple()
        {
            var groupType    = GameViewSizeHelper.GetCurrentGameViewSizeGroupType();
            var gameViewSize = new GameViewSizeHelper.GameViewSize();

            gameViewSize.type     = GameViewSizeHelper.GameViewSizeType.FixedResolution;
            gameViewSize.width    = Window.Orientation == Orientation.Portrait ? Width : Height;
            gameViewSize.height   = Window.Orientation == Orientation.Portrait ? Height : Width;
            gameViewSize.baseText = Label;

            if (!GameViewSizeHelper.Contains(groupType, gameViewSize))
            {
                GameViewSizeHelper.AddCustomSize(groupType, gameViewSize);
            }

            GameViewSizeHelper.ChangeGameViewSize(groupType, gameViewSize);
            Save.Set <string>(GameViewSizeChanger.Key_GameViewSizeChanger_LastLabel, Label);

            // HACK: 2フレーム待たないとSnapZoomが動作しないケースがある
            EditorApplication.delayCall += () =>
            {
                EditorApplication.delayCall += () =>
                {
                    var   flag             = System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance;
                    var   assembly         = typeof(Editor).Assembly;
                    var   type             = assembly.GetType("UnityEditor.GameView");
                    var   gameView         = EditorWindow.GetWindow(type, false, "Game", false);
                    var   minScaleProperty = type.GetProperty("minScale", flag);
                    float minScale         = (float)minScaleProperty.GetValue(gameView, null);
                    type.GetMethod("SnapZoom", flag, null, new System.Type[] { typeof(float) }, null).Invoke(gameView, new object[] { minScale });
                    gameView.Repaint();
                    Window.Focus();
                };
            };
        }
Exemple #2
0
        GameViewSizeHelper.GameViewSize Convert()
        {
            var gameViewSize = new GameViewSizeHelper.GameViewSize();

            gameViewSize.type     = GameViewSizeHelper.GameViewSizeType.FixedResolution;
            gameViewSize.baseText = ToText();
            bool isPortrait = orientation == Orientation.Portrait;
            int  w          = isPortrait ? Width : Height;
            int  h          = isPortrait ? Height : Width;

            gameViewSize.width  = w;
            gameViewSize.height = h;
            return(gameViewSize);
        }
Exemple #3
0
    static void Init()
    {
        var wide = new GameViewSizeHelper.GameViewSize
        {
            type     = GameViewSizeHelper.GameViewSizeType.FixedResolution,
            width    = 2436,
            height   = 1125,
            baseText = "iPhone X/XS Landscape"
        };
        var tall = new GameViewSizeHelper.GameViewSize
        {
            type     = GameViewSizeHelper.GameViewSizeType.FixedResolution,
            width    = 1125,
            height   = 2436,
            baseText = "iPhone X/XS Portrait"
        };

        GameViewSizeHelper.AddCustomSize(GameViewSizeGroupType.Standalone, wide);
        GameViewSizeHelper.AddCustomSize(GameViewSizeGroupType.Standalone, tall);
        GameViewSizeHelper.AddCustomSize(GameViewSizeGroupType.Android, wide);
        GameViewSizeHelper.AddCustomSize(GameViewSizeGroupType.Android, tall);
    }
 private bool GameViewSizeEqual(GameViewSizeHelper.GameViewSize a, GameViewSizeHelper.GameViewSize b)
 {
     return(a.baseText == b.baseText && a.width == b.width && a.height == b.height && a.type == b.type);
 }