public static string ReflectedPropertyField(GUIContent label, object targObj, string selectedMemberName, com.spacepuppy.Dynamic.DynamicMemberAccess access) { var position = EditorGUILayout.GetControlRect(label == GUIContent.none); System.Reflection.MemberInfo selectedMember; return(SPEditorGUI.ReflectedPropertyField(position, label, targObj, selectedMemberName, access, out selectedMember)); }
public static string ReflectedPropertyField(GUIContent label, System.Type targType, string selectedMemberName) { var position = EditorGUILayout.GetControlRect(label == GUIContent.none); System.Reflection.MemberInfo selectedMember; return(SPEditorGUI.ReflectedPropertyField(position, label, targType, selectedMemberName, out selectedMember)); }
public static System.Reflection.MemberInfo DrawMemberProxy(Rect position, SerializedProperty property, GUIContent label, DynamicMemberAccess memberAccessLevel = DynamicMemberAccess.Read) { var r0 = new Rect(position.xMin, position.yMin, position.width, EditorGUIUtility.singleLineHeight); var r1 = new Rect(position.xMin, r0.yMax, position.width, EditorGUIUtility.singleLineHeight); var targProp = property.FindPropertyRelative("_target"); var memberProp = property.FindPropertyRelative("_memberName"); SPEditorGUI.PropertyField(r0, targProp, label); System.Reflection.MemberInfo selectedMember; memberProp.stringValue = SPEditorGUI.ReflectedPropertyField(r1, EditorHelper.TempContent(" - Property", "The property on the target to set."), targProp.objectReferenceValue, memberProp.stringValue, memberAccessLevel, out selectedMember); return(selectedMember); }