ソースコード
using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaletteBrushesUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static readonly Assembly m_assembly = typeof( AssetDatabase ).Assembly; private static readonly Type m_type = m_assembly.GetType( "UnityEditor.GridPaletteBrushes" ); private static readonly PropertyInfo m_property = m_type.GetProperty( "brushes", BINDING_ATTR ); public static List<GridBrushBase> brushes => m_property.GetValue( null ) as List<GridBrushBase>; }
使い方
using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { foreach ( var brush in GridPaletteBrushesUtils.brushes ) { Debug.Log( brush.name ); } } }
Tile Palette に登録されているすべてのブラシを取得できます