はじめに
EditorWindowを一括取得する方法を忘れてしまったので備忘録として記事にしてみました。
解説
Resources.FindObjectsOfTypeAll()を使うと現在開いている全てのEditorWindowを取得できます。
EditorWindow.FindObjectsOfType()だとなぜか取得できません
ソースコード
Hoge.cs
using UnityEngine;
using UnityEditor;
public static class Hoge
{
[MenuItem("Hoge/Show EditorWindow All")]
static void ShowEditorWindowAll()
{
foreach (var window in Resources.FindObjectsOfTypeAll<EditorWindow>())
{
Debug.Log("Exist: " + window.GetType());
}
}
}
環境
Unity2018.2.0f2