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));
        }
Esempio n. 3
0
        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);
        }