コガネブログ

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

【Unity】クリップボードにコピーされているパスを含むアセットを Project ビューでハイライトするエディタ拡張

概要

f:id:baba_s:20201124174056g:plain

using UnityEditor;
using UnityEngine;

[InitializeOnLoad]
public static class Example
{
    static Example()
    {
        EditorApplication.projectWindowItemOnGUI += OnGUI;
    }

    private static void OnGUI( string guid, Rect selectionRect )
    {
        var path       = AssetDatabase.GUIDToAssetPath( guid );
        var clipboard  = EditorGUIUtility.systemCopyBuffer;
        var isContains = path.Contains( clipboard );

        if ( !isContains ) return;

        var pos = selectionRect;
        pos.x    = 0;
        pos.xMax = selectionRect.xMax;

        var color = GUI.color;
        GUI.color = new Color( 10, 0, 0, 0.5f );
        GUI.Box( pos, string.Empty );
        GUI.color = color;
    }
}