はじめに
EditorWindow上でのキー入力の検知、知らないと意外とはまるのでまとめてみました。
EditorWindow上でキー入力を検知するには
Event.current を見ることでキーが押されたかどうかを判別することができます。
ESCキーでEditorWindowを閉じてみる
実験として、ESCキーが押されたら閉じるEditorWindowを作ってみました。
ウィンドウにフォーカスが乗っている必要があります。
TestEditorWindow.cs
using UnityEngine;
using UnityEditor;
public class TestEditorWindow : EditorWindow
{
[MenuItem("EditorWindow/TestEditorWindow")]
static void Open()
{
GetWindow<TestEditorWindow>();
}
void OnGUI()
{
var e = Event.current;
if (e.type == EventType.KeyDown && e.keyCode == KeyCode.Escape)
{
Debug.Log("Close");
this.Close();
}
}
}
ESCキーを押すとウィンドウが閉じます。(完