MB3_ShaderTexturePropertyDrawer.cs 1008 B

12345678910111213141516171819202122232425
  1. using UnityEditor;
  2. using UnityEngine;
  3. using DigitalOpus.MB.Core;
  4. [CustomPropertyDrawer(typeof(ShaderTextureProperty))]
  5. public class MB3_ShaderTexturePropertyDrawer : PropertyDrawer {
  6. public override void OnGUI (Rect position, SerializedProperty property, GUIContent label) {
  7. label = EditorGUI.BeginProperty(position, label, property);
  8. Rect contentPosition = EditorGUI.PrefixLabel(position, label);
  9. if (position.height > 16f) {
  10. position.height = 16f;
  11. EditorGUI.indentLevel += 1;
  12. contentPosition = EditorGUI.IndentedRect(position);
  13. contentPosition.y += 18f;
  14. }
  15. contentPosition.width *= 0.75f;
  16. EditorGUI.indentLevel = 0;
  17. EditorGUI.PropertyField(contentPosition, property.FindPropertyRelative("name"), GUIContent.none);
  18. contentPosition.x += contentPosition.width;
  19. contentPosition.width /= 3f;
  20. EditorGUIUtility.labelWidth = 50f;
  21. EditorGUI.PropertyField(contentPosition, property.FindPropertyRelative("isNormalMap"), new GUIContent("isBump"));
  22. EditorGUI.EndProperty();
  23. }
  24. }