この記事でのバージョン
Unity 2021.3.4f1
はじめに
Unityのエディタ拡張には簡単にウィンドウを作る事が出来るEditorWindowがあります。
using UnityEditor; /// <summary> /// EditorWindowのサンプル /// </summary> public class EditorWindowSample : EditorWindow { //================================================================================= //初期化 //================================================================================= //ウィンドウを開く [MenuItem("Tools/Editor Window Sample")] private static void OpenWindow() { GetWindow<EditorWindowSample>().Show(); } }
今回はそのEditorWindowが開いてるかどうかを判定する方法です。
HasOpenInstances
早速ですが、EditorWindowが開いてるかどうかを判定するにはHasOpenInstancesを使います。
使い方は以下のようにジェネリックで判定したいEditorWindowを指定するだけ。
//EditorWindowSampleが開いているか if (EditorWindow.HasOpenInstances<EditorWindowSample>()) { /*EditorWindowSampleが開いてる時の処理*/ }