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(); } } } }
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); }
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(); } }
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(); }