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