MegaBendEditor.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using UnityEngine;
  2. using UnityEditor;
  3. [CanEditMultipleObjects, CustomEditor(typeof(MegaBend))]
  4. public class MegaBendEditor : MegaModifierEditor
  5. {
  6. public override string GetHelpString() { return "Bend Modifier by Chris West"; }
  7. public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
  8. #if true
  9. public override bool Inspector()
  10. {
  11. MegaBend mod = (MegaBend)target;
  12. #if !UNITY_5 && !UNITY_2017 && !UNITY_2018 && !UNITY_2019 && !UNITY_2020
  13. EditorGUIUtility.LookLikeControls();
  14. #endif
  15. mod.angle = EditorGUILayout.FloatField("Angle", mod.angle);
  16. mod.dir = EditorGUILayout.FloatField("Dir", mod.dir);
  17. mod.axis = (MegaAxis)EditorGUILayout.EnumPopup("Axis", mod.axis);
  18. mod.doRegion = EditorGUILayout.Toggle("Do Region", mod.doRegion);
  19. mod.from = EditorGUILayout.FloatField("From", mod.from);
  20. mod.to = EditorGUILayout.FloatField("To", mod.to);
  21. return false;
  22. }
  23. #else
  24. SerializedProperty angle;
  25. SerializedProperty dir;
  26. SerializedProperty axis;
  27. SerializedProperty doRegion;
  28. SerializedProperty from;
  29. SerializedProperty to;
  30. GUIContent anglelab;
  31. GUIContent dirlab;
  32. GUIContent axislab;
  33. GUIContent doregionlab;
  34. GUIContent fromlab;
  35. GUIContent tolab;
  36. void OnEnable()
  37. {
  38. angle = serializedObject.FindProperty("angle");
  39. dir = serializedObject.FindProperty("dir");
  40. axis = serializedObject.FindProperty("axis");
  41. doRegion = serializedObject.FindProperty("doRegion");
  42. from = serializedObject.FindProperty("from");
  43. to = serializedObject.FindProperty("to");
  44. anglelab = new GUIContent("Angle");
  45. dirlab = new GUIContent("Dir");
  46. axislab = new GUIContent("Axis");
  47. doregionlab = new GUIContent("Do Region");
  48. fromlab = new GUIContent("From");
  49. tolab = new GUIContent("To");
  50. }
  51. public override bool Inspector()
  52. {
  53. serializedObject.Update();
  54. //MegaBend mod = (MegaBend)target;
  55. EditorGUIUtility.LookLikeControls();
  56. EditorGUILayout.PropertyField(angle, anglelab);
  57. EditorGUILayout.PropertyField(dir, dirlab);
  58. EditorGUILayout.PropertyField(axis, axislab);
  59. EditorGUILayout.PropertyField(doRegion, doregionlab);
  60. EditorGUILayout.PropertyField(from, fromlab);
  61. EditorGUILayout.PropertyField(to, tolab);
  62. serializedObject.ApplyModifiedProperties();
  63. return false;
  64. }
  65. #endif
  66. }