CanvasMeshRendererEditor.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using UnityEditor;
  2. using Rokid.UXR.Interaction;
  3. namespace Rokid.UXR.Editor
  4. {
  5. using props = CanvasMeshRenderer.Properties;
  6. [CustomEditor(typeof(CanvasMeshRenderer))]
  7. public class CanvasMeshRendererEditor : EditorBase
  8. {
  9. public new CanvasMeshRenderer target
  10. {
  11. get
  12. {
  13. return base.target as CanvasMeshRenderer;
  14. }
  15. }
  16. protected override void OnEnable()
  17. {
  18. var renderingModeProp = serializedObject.FindProperty(props.RenderingMode);
  19. Draw(props.RenderingMode, (modeProp) =>
  20. {
  21. RenderingMode value = (RenderingMode)modeProp.intValue;
  22. value = (RenderingMode)EditorGUILayout.EnumPopup("Rendering Mode", value);
  23. modeProp.intValue = (int)value;
  24. });
  25. Draw(props.UseAlphaToMask, props.AlphaCutoutThreshold, (maskProp, cutoutProp) =>
  26. {
  27. if (renderingModeProp.intValue == (int)RenderingMode.AlphaCutout)
  28. {
  29. EditorGUILayout.PropertyField(maskProp);
  30. if (maskProp.boolValue == false)
  31. {
  32. EditorGUILayout.PropertyField(cutoutProp);
  33. }
  34. }
  35. });
  36. }
  37. }
  38. }