You can derive custom property drawers from this class, for a given "displayable" class (and assign it as the CustomProperty drawer for that class using the CustomProperty attribute).
This will automatically have it display all the ExposedProperties present in the display class. Note: Unless one want to do specific customizations, none of the functions NEED to be overridden.
EyE.EditorUnity.Examples.ObjectSizePropertyDrawer
using UnityEditor;
{
[CustomPropertyDrawer(typeof(ObjectSize))]
public class ObjectSizePropertyDrawer : DefaultExposedMemberExpandablePropertyDrawer { }
}
EyE.EditorUnity.Examples.SoldierPropertyDrawer
|
override bool | AllowCreation () |
| Descendants must override this abstract function to change it's current behavior, which is to ALLOW the creation of new objects, enabling the create button.
|
|
override bool | AllowSceneObjects () |
| Descendants must override this abstract function to change it's current behavior, which is to ALLOw scene objects.
|
|
override float | GetFoldoutPropertyHeight (SerializedProperty property, GUIContent label) |
| Gets the height of the foldout section only.
|
|
override void | OnFoldOutGUI (Rect position, SerializedProperty property, GUIContent label) |
| Invoked by the base class when the ExpandableObject is actually expanded. This function will draw the folded-out details of the property.
|
|
|
override float | GetPropertyHeight (SerializedProperty property, GUIContent label) |
| Invoked by the UnityEditor, this function should not be overridden in descendants.
|
|
override void | OnGUI (Rect position, SerializedProperty property, GUIContent label) |
| Function invoked by unity editor to display the SerializedProperty.
|
|
static void | DrawProperty (Rect position, SerializedProperty property, GUIContent label, System.Type objectType, bool allowSceneObjects, bool allowCreation, params GUILayoutOption[] options) |
| Static function use to Draw a serializedProperty using an ExpandableObjectPropertyDrawer
|
|
static float | GetTotalPropertyHeight (SerializedProperty property, GUIContent label, bool propertyAlwaysExpanded=false) |
| Get the current height of the property. Changes depending on current foldout state, and propertyAlwaysExpanded parameter.
|
|
static bool | drawDefaultPropertyOverrideBaseClass |
| When set to true, the default property drawer will be drawn. This variable is static, meaning each class derived from this one, will have it's own. This can allow the user to control whether or not to use the standard property drawer, via say... an editor preference option.
|
|