(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


特定のEditorWindowが開いてるかどうか確認したい時はHasOpenInstances【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加


この記事でのバージョン
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が開いてる時の処理*/
}