うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Escape で閉じれる PopupWindow のテンプレート

Editor 拡張時に PopupWindow を使いますが、たまに Escape で閉じるようにするの どうするのか忘れるのでメモ

PopupWindow.Show(rect, new Popup()); 呼び出しはこれで

using UnityEditor;

public class Popup : PopupWindowContent
{           
    public Popup()
    {
    }
 
    public override void OnGUI(Rect rect)
    {
        EditorGUILayout.LabelField("Popup");
        // Escapeが押されたら閉じる
        if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape)
        {
            editorWindow.Close();
        }
    }
    
    public override Vector2 GetWindowSize()
    {
        return new Vector2(100f, 200f);
    }
}