BoneUsagePerLoDDrawer.cs 1.3 KB

12345678910111213141516171819202122232425
  1. #if UNITY_EDITOR
  2. using UnityEditor;
  3. using UnityEngine;
  4. namespace GpuEcsAnimationBaker.Engine.Data
  5. {
  6. [CustomPropertyDrawer(typeof(BoneUsagePerLoD))]
  7. public class BoneUsagePerLoDDrawer: PropertyDrawer
  8. {
  9. public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
  10. {
  11. EditorGUI.BeginProperty(position, label, property);
  12. SerializedProperty lodIndexProperty = property.FindPropertyRelative("lodIndex");
  13. SerializedProperty maxNumberOfBonesPerVertexProperty = property.FindPropertyRelative("maxNumberOfBonesPerVertex");
  14. EditorGUI.LabelField(new Rect(position.position, new Vector2(30, position.height)), "LOD");
  15. EditorGUI.PropertyField(new Rect(position.position + new Vector2(35, 0), new Vector2(30, position.height)),
  16. lodIndexProperty, new GUIContent(""));
  17. EditorGUI.LabelField(new Rect(position.position + new Vector2(70, 0), new Vector2(80, position.height)), "Nbr. of bones");
  18. EditorGUI.PropertyField(new Rect(position.position + new Vector2(155, 0), new Vector2(position.width - 160, position.height)),
  19. maxNumberOfBonesPerVertexProperty, new GUIContent(""));
  20. EditorGUI.EndProperty();
  21. }
  22. }
  23. }
  24. #endif