MegaUVAdjustEditor.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using UnityEditor;
  2. using UnityEngine;
  3. [CanEditMultipleObjects, CustomEditor(typeof(MegaUVAdjust))]
  4. public class MegaUVAdjustEditor : MegaModifierEditor
  5. {
  6. public override bool Inspector()
  7. {
  8. MegaUVAdjust mod = (MegaUVAdjust)target;
  9. #if !UNITY_5 && !UNITY_2017 && !UNITY_2018 && !UNITY_2019 && !UNITY_2020
  10. EditorGUIUtility.LookLikeControls();
  11. #endif
  12. mod.animate = EditorGUILayout.Toggle("Animate", mod.animate);
  13. mod.rotspeed = EditorGUILayout.FloatField("Rot Speed", mod.rotspeed);
  14. mod.spiralspeed = EditorGUILayout.FloatField("Spiral Speed", mod.spiralspeed);
  15. mod.speed = EditorGUILayout.Vector3Field("Speed", mod.speed);
  16. mod.spiral = EditorGUILayout.FloatField("Spiral", mod.spiral);
  17. mod.spirallim = EditorGUILayout.FloatField("Spiral Lim", mod.spirallim);
  18. return false;
  19. }
  20. public override void DrawSceneGUI()
  21. {
  22. MegaModifier mod = (MegaModifier)target;
  23. if ( mod.ModEnabled && mod.DisplayGizmo && MegaModifiers.GlobalDisplay )
  24. {
  25. MegaModifiers context = mod.GetComponent<MegaModifiers>();
  26. if ( context != null && context.Enabled && context.DrawGizmos )
  27. {
  28. float a = mod.gizCol1.a;
  29. Color col = Color.white;
  30. Quaternion rot = mod.transform.localRotation;
  31. Handles.matrix = Matrix4x4.identity;
  32. if ( mod.Offset != Vector3.zero )
  33. {
  34. Vector3 pos = mod.transform.localToWorldMatrix.MultiplyPoint(Vector3.Scale(-mod.gizmoPos - mod.Offset, mod.bbox.Size()));
  35. Handles.Label(pos, mod.ModName() + " Pivot\n" + mod.Offset.ToString("0.000"));
  36. col = Color.blue;
  37. col.a = a;
  38. Handles.color = col;
  39. MegaHandles.ArrowCap(0, pos, rot * Quaternion.Euler(180.0f, 0.0f, 0.0f), mod.GizmoSize());
  40. col = Color.green;
  41. col.a = a;
  42. Handles.color = col;
  43. MegaHandles.ArrowCap(0, pos, rot * Quaternion.Euler(90.0f, 0.0f, 0.0f), mod.GizmoSize());
  44. col = Color.red;
  45. col.a = a;
  46. Handles.color = col;
  47. MegaHandles.ArrowCap(0, pos, rot * Quaternion.Euler(0.0f, -90.0f, 0.0f), mod.GizmoSize());
  48. }
  49. Handles.matrix = Matrix4x4.identity;
  50. }
  51. }
  52. }
  53. }