public void OnGUI(ref Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
{
float oldLabelWidth, oldFieldWidth;
var propHeight = position.height;
position.height = 0;
if (m_DecoratorDrawers != null)
{
foreach (var decorator in m_DecoratorDrawers)
{
position.height = decorator.GetPropertyHeight(prop, label.text, editor);
oldLabelWidth = EditorGUIUtility.labelWidth;
oldFieldWidth = EditorGUIUtility.fieldWidth;
decorator.OnGUI(position, prop, label, editor);
EditorGUIUtility.labelWidth = oldLabelWidth;
EditorGUIUtility.fieldWidth = oldFieldWidth;
position.y += position.height;
propHeight -= position.height;
}
}
position.height = propHeight;
if (m_PropertyDrawer != null)
{
oldLabelWidth = EditorGUIUtility.labelWidth;
oldFieldWidth = EditorGUIUtility.fieldWidth;
m_PropertyDrawer.OnGUI(position, prop, label, editor);
EditorGUIUtility.labelWidth = oldLabelWidth;
EditorGUIUtility.fieldWidth = oldFieldWidth;
}
}