using UnityEditor; using UnityEngine; using UnityEditor.IMGUI.Controls; using System.Reflection; public class ReflectTreeViewState : EditorWindow { [MenuItem("Tools/Reflect TreeViewState")] public static void ShowWindow() { var type = typeof(TreeViewState); var sb = new System.Text.StringBuilder(); foreach (var p in type.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) { sb.AppendLine("Prop: " + p.Name + " - " + p.PropertyType.FullName); } foreach (var f in type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) { sb.AppendLine("Field: " + f.Name + " - " + f.FieldType.FullName); } Debug.Log(sb.ToString()); } }