GetSizeOfMainGameView() static private method

static private GetSizeOfMainGameView ( ) : Vector2
return Vector2
示例#1
0
 public void OnOverlayGUI(Object target, SceneView sceneView)
 {
     if (target != null)
     {
         Camera  other = (Camera)target;
         Vector2 sizeOfMainGameView = GameView.GetSizeOfMainGameView();
         if (sizeOfMainGameView.x < 0f)
         {
             sizeOfMainGameView.x = sceneView.position.width;
             sizeOfMainGameView.y = sceneView.position.height;
         }
         Rect rect = other.rect;
         sizeOfMainGameView.x *= Mathf.Max(rect.width, 0f);
         sizeOfMainGameView.y *= Mathf.Max(rect.height, 0f);
         if ((sizeOfMainGameView.x > 0f) && (sizeOfMainGameView.y > 0f))
         {
             float num = sizeOfMainGameView.x / sizeOfMainGameView.y;
             sizeOfMainGameView.y = 0.2f * sceneView.position.height;
             sizeOfMainGameView.x = sizeOfMainGameView.y * num;
             if (sizeOfMainGameView.y > (sceneView.position.height * 0.5f))
             {
                 sizeOfMainGameView.y = sceneView.position.height * 0.5f;
                 sizeOfMainGameView.x = sizeOfMainGameView.y * num;
             }
             if (sizeOfMainGameView.x > (sceneView.position.width * 0.5f))
             {
                 sizeOfMainGameView.x = sceneView.position.width * 0.5f;
                 sizeOfMainGameView.y = sizeOfMainGameView.x / num;
             }
             Rect rect2 = EditorGUIUtility.PointsToPixels(GUILayoutUtility.GetRect(sizeOfMainGameView.x, sizeOfMainGameView.y));
             rect2.y = (((sceneView.position.height + 1f) * EditorGUIUtility.pixelsPerPoint) - rect2.y) - rect2.height;
             if (Event.current.type == EventType.Repaint)
             {
                 this.previewCamera.CopyFrom(other);
                 Skybox component = this.previewCamera.GetComponent <Skybox>();
                 if (component != null)
                 {
                     Skybox skybox2 = other.GetComponent <Skybox>();
                     if ((skybox2 != null) && skybox2.enabled)
                     {
                         component.enabled  = true;
                         component.material = skybox2.material;
                     }
                     else
                     {
                         component.enabled = false;
                     }
                 }
                 this.previewCamera.targetTexture = null;
                 this.previewCamera.pixelRect     = rect2;
                 Handles.EmitGUIGeometryForCamera(other, this.previewCamera);
                 this.previewCamera.Render();
             }
         }
     }
 }
示例#2
0
        private static float GetGameViewAspectRatio()
        {
            Vector2 sizeOfMainGameView = GameView.GetSizeOfMainGameView();

            if (sizeOfMainGameView.x < 0f)
            {
                sizeOfMainGameView.x = (float)Screen.width;
                sizeOfMainGameView.y = (float)Screen.height;
            }
            return(sizeOfMainGameView.x / sizeOfMainGameView.y);
        }
示例#3
0
        public void OnOverlayGUI(UnityEngine.Object target, SceneView sceneView)
        {
            if (target == null)
            {
                return;
            }
            Camera  camera             = (Camera)target;
            Vector2 sizeOfMainGameView = GameView.GetSizeOfMainGameView();

            if (sizeOfMainGameView.x < 0f)
            {
                sizeOfMainGameView.x = sceneView.position.width;
                sizeOfMainGameView.y = sceneView.position.height;
            }
            Rect rect = camera.rect;

            sizeOfMainGameView.x *= Mathf.Max(rect.width, 0f);
            sizeOfMainGameView.y *= Mathf.Max(rect.height, 0f);
            if (sizeOfMainGameView.x <= 0f || sizeOfMainGameView.y <= 0f)
            {
                return;
            }
            float num = sizeOfMainGameView.x / sizeOfMainGameView.y;

            sizeOfMainGameView.y = 0.2f * sceneView.position.height;
            sizeOfMainGameView.x = sizeOfMainGameView.y * num;
            if (sizeOfMainGameView.y > sceneView.position.height * 0.5f)
            {
                sizeOfMainGameView.y = sceneView.position.height * 0.5f;
                sizeOfMainGameView.x = sizeOfMainGameView.y * num;
            }
            if (sizeOfMainGameView.x > sceneView.position.width * 0.5f)
            {
                sizeOfMainGameView.x = sceneView.position.width * 0.5f;
                sizeOfMainGameView.y = sizeOfMainGameView.x / num;
            }
            Rect rect2 = GUILayoutUtility.GetRect(sizeOfMainGameView.x, sizeOfMainGameView.y);

            rect2.y = sceneView.position.height - rect2.y - rect2.height + 1f;
            if (Event.current.type == EventType.Repaint)
            {
                this.previewCamera.CopyFrom(camera);
                Skybox component = this.previewCamera.GetComponent <Skybox>();
                if (component)
                {
                    Skybox component2 = camera.GetComponent <Skybox>();
                    if (component2 && component2.enabled)
                    {
                        component.enabled  = true;
                        component.material = component2.material;
                    }
                    else
                    {
                        component.enabled = false;
                    }
                }
                this.previewCamera.targetTexture = null;
                this.previewCamera.pixelRect     = rect2;
                Handles.EmitGUIGeometryForCamera(camera, this.previewCamera);
                this.previewCamera.Render();
            }
        }
示例#4
0
        public void OnOverlayGUI(UnityEngine.Object target, SceneView sceneView)
        {
            if (target == (UnityEngine.Object)null)
            {
                return;
            }
            Camera  camera             = (Camera)target;
            Vector2 sizeOfMainGameView = GameView.GetSizeOfMainGameView();

            if ((double)sizeOfMainGameView.x < 0.0)
            {
                sizeOfMainGameView.x = sceneView.position.width;
                sizeOfMainGameView.y = sceneView.position.height;
            }
            Rect rect = camera.rect;

            sizeOfMainGameView.x *= Mathf.Max(rect.width, 0.0f);
            sizeOfMainGameView.y *= Mathf.Max(rect.height, 0.0f);
            if ((double)sizeOfMainGameView.x <= 0.0 || (double)sizeOfMainGameView.y <= 0.0)
            {
                return;
            }
            float num = sizeOfMainGameView.x / sizeOfMainGameView.y;

            sizeOfMainGameView.y = 0.2f * sceneView.position.height;
            sizeOfMainGameView.x = sizeOfMainGameView.y * num;
            if ((double)sizeOfMainGameView.y > (double)sceneView.position.height * 0.5)
            {
                sizeOfMainGameView.y = sceneView.position.height * 0.5f;
                sizeOfMainGameView.x = sizeOfMainGameView.y * num;
            }
            if ((double)sizeOfMainGameView.x > (double)sceneView.position.width * 0.5)
            {
                sizeOfMainGameView.x = sceneView.position.width * 0.5f;
                sizeOfMainGameView.y = sizeOfMainGameView.x / num;
            }
            Rect pixels = EditorGUIUtility.PointsToPixels(GUILayoutUtility.GetRect(sizeOfMainGameView.x, sizeOfMainGameView.y));

            pixels.y = (sceneView.position.height + 1f) * EditorGUIUtility.pixelsPerPoint - pixels.y - pixels.height;
            if (Event.current.type != EventType.Repaint)
            {
                return;
            }
            this.previewCamera.CopyFrom(camera);
            Skybox component1 = this.previewCamera.GetComponent <Skybox>();

            if ((bool)((UnityEngine.Object)component1))
            {
                Skybox component2 = camera.GetComponent <Skybox>();
                if ((bool)((UnityEngine.Object)component2) && component2.enabled)
                {
                    component1.enabled  = true;
                    component1.material = component2.material;
                }
                else
                {
                    component1.enabled = false;
                }
            }
            this.previewCamera.targetTexture = (RenderTexture)null;
            this.previewCamera.pixelRect     = pixels;
            Handles.EmitGUIGeometryForCamera(camera, this.previewCamera);
            this.previewCamera.Render();
        }