概要
using System.Linq; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { var assembly = typeof( Editor ).Assembly; var windowTypeName = "UnityEditor.InspectorWindow"; var windowType = assembly.GetType( windowTypeName ); var inspectorWindow = Resources.FindObjectsOfTypeAll( windowType ).FirstOrDefault() as EditorWindow; if ( inspectorWindow == null ) return; inspectorWindow.rootVisualElement.Query().ForEach ( visualElement => { if ( !visualElement.GetClasses().Contains( "unity-inspector-add-component-button" ) ) return; var button = new Button( () => Debug.Log( "ピカチュウ" ) ) { text = "ピカチュウ", }; visualElement.Add( button ); } ); } }
