public static T InlineObjectField <T>(GUIContent label, T obj, EditorGUIX.FieldIcon icon = EditorGUIX.FieldIcon.None) where T : UnityEngine.Object { using (new EditorGUILayout.HorizontalScope()) { var previousImage = label.image; label.image = EditorGUIX.GetIcon(icon, previousImage); EditorGUILayout.PrefixLabel(label); label.image = previousImage; var indent = EditorGUI.indentLevel; if (EditorGUI.indentLevel > 0) { EditorGUI.indentLevel = 0; } obj = (T)EditorGUILayout.ObjectField(obj, typeof(T), false); EditorGUI.indentLevel = indent; } return(obj); }
public static bool InspectorFoldout(bool value, GUIContent content, EditorGUIX.FieldIcon icon = EditorGUIX.FieldIcon.None) { var rect = GUILayoutUtility.GetRect(content, EditorGUIX.Styles.inspectorBackground, GUILayout.ExpandWidth(true)); return(EditorGUIX.InspectorFoldout(rect, value, content, icon)); }