コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】エディタ拡張で検索欄を自作してみる

概要

このような検索欄を自作する場合、下記のようなスクリプトを記述します

using UnityEditor;
using UnityEngine;

public class Example : EditorWindow
{
    private string filter;

    [MenuItem( "Tools/Example" )]
    private static void Init()
    {
        GetWindow<Example>();
    }

    private void OnGUI()
    {
        GUILayout.BeginHorizontal();
        GUILayout.Label( "Filter:", GUILayout.Width( 45 ) );
        GUI.SetNextControlName( "filterField" );
        filter = GUILayout.TextField( filter, "SearchTextField", GUILayout.Width( 120 ) );
        GUI.FocusControl( "filterField" );
        GUI.enabled = !string.IsNullOrEmpty( filter );
        if ( GUILayout.Button( "Clear", "SearchCancelButton" ) )
        {
            filter = string.Empty;
        }
        GUI.enabled = true;
        GUILayout.EndHorizontal();
    }
}

関連記事