MegaAttachEditor.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using UnityEngine;
  2. using UnityEditor;
  3. [CanEditMultipleObjects, CustomEditor(typeof(MegaAttach))]
  4. public class MegaAttachEditor : Editor
  5. {
  6. public override void OnInspectorGUI()
  7. {
  8. MegaAttach mod = (MegaAttach)target;
  9. #if !UNITY_5 && !UNITY_2017 && !UNITY_2018 && !UNITY_2019 && !UNITY_2020
  10. EditorGUIUtility.LookLikeControls();
  11. #endif
  12. //DrawDefaultInspector();
  13. mod.target = (MegaModifiers)EditorGUILayout.ObjectField("Target", mod.target, typeof(MegaModifiers), true);
  14. mod.attachforward = EditorGUILayout.Vector3Field("Attach Fwd", mod.attachforward);
  15. mod.AxisRot = EditorGUILayout.Vector3Field("Axis Rot", mod.AxisRot);
  16. mod.radius = EditorGUILayout.FloatField("Radius", mod.radius);
  17. mod.up = EditorGUILayout.Vector3Field("Up", mod.up);
  18. mod.worldSpace = EditorGUILayout.Toggle("World Space", mod.worldSpace);
  19. if ( GUI.changed )
  20. {
  21. EditorUtility.SetDirty(mod);
  22. }
  23. if ( !mod.attached )
  24. {
  25. if ( GUILayout.Button("Attach") )
  26. {
  27. mod.AttachIt();
  28. EditorUtility.SetDirty(mod);
  29. }
  30. }
  31. else
  32. {
  33. if ( GUILayout.Button("Detach") )
  34. {
  35. mod.DetachIt();
  36. EditorUtility.SetDirty(mod);
  37. }
  38. }
  39. }
  40. }