using UnityEngine;
using UnityEditor;

public class SceneViewCameraTest
{
    [MenuItem("Tools/Camera/Snap Scene To Camera #c")]
    static public void MoveSceneViewCamera()
    {

        if(Camera.main == null)
        {
            Debug.LogError("No Main camera in scene");
            return;
        }

        Vector3 position = Camera.main.transform.position;
        Quaternion rotation = Camera.main.transform.rotation;

        //SceneView.lastActiveSceneView.size = 0.1f;
        SceneView.lastActiveSceneView.rotation = rotation;
        SceneView.lastActiveSceneView.pivot = position;
        SceneView.lastActiveSceneView.pivot += Camera.main.transform.forward * SceneView.lastActiveSceneView.size;


        SceneView.lastActiveSceneView.Repaint();
    }

    [MenuItem("Tools/Camera/Snap Camera To Scene &#c")]
    static public void MoveCameraToScene()
    {

        if (Camera.main == null)
        {
            Debug.LogError("No Main camera in scene");
            return;
        }


        GameObject camera = Camera.main.gameObject;
        Undo.RegisterCompleteObjectUndo(camera.transform, "Snapped Camera to Scene View");

        camera.transform.position = SceneView.lastActiveSceneView.pivot;
        camera.transform.rotation = SceneView.lastActiveSceneView.rotation;
        camera.transform.position -= Camera.main.transform.forward * SceneView.lastActiveSceneView.size;
    }
}