using System.Reflection; using UnityEditor; namespace KitsuneCafe.Extension { public static class EditorExtension { public static bool TryGetValue(this SerializedProperty property, out T value) { var target = property.serializedObject.targetObject; var type = target.GetType(); var field = type.GetField(property.propertyPath, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (field != null) { value = (T)field.GetValue(target); return true; } else { value = default; return false; } } } }