Newer
Older
IsoRenderTest / Assets / Editor / IsoButton.cs
using UnityEditor;
using UnityEngine;

public class IsoButton : EditorWindow
{
    [MenuItem("Window/Scene GUI/Enable ISO Cam Button")]
    public static void Enable()
    {
        SceneView.onSceneGUIDelegate += OnScene;
        Debug.Log("Scene GUI : Enabled");
        SceneView.RepaintAll();
    }

    [MenuItem("Window/Scene GUI/Disable ISO Cam Button")]
    public static void Disable()
    {
        SceneView.onSceneGUIDelegate -= OnScene;
        Debug.Log("Scene GUI : Disabled");
        SceneView.RepaintAll();
    }

    private static bool isoMode = false;

    private static void OnScene(SceneView sceneview)
    {
        Handles.BeginGUI();
        
        if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off")))
        {
            isoMode = !isoMode;

            if (isoMode)
            {
                SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform);
            }
        }
        Handles.EndGUI();
    }
}