MegaConformMultiEditor.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using UnityEngine;
  2. using UnityEditor;
  3. [CanEditMultipleObjects, CustomEditor(typeof(MegaConformMod))]
  4. public class MegaConformMultiEditor : MegaModifierEditor
  5. {
  6. public override string GetHelpString() { return "Multi Conform Modifier by Chris West"; }
  7. public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
  8. public override bool DisplayCommon()
  9. {
  10. return false;
  11. }
  12. public override bool Inspector()
  13. {
  14. MegaConformMulti mod = (MegaConformMulti)target;
  15. #if !UNITY_5 && !UNITY_2017 && !UNITY_2018 && !UNITY_2019 && !UNITY_2020
  16. EditorGUIUtility.LookLikeControls();
  17. #endif
  18. CommonModParamsBasic(mod);
  19. mod.conformAmount = EditorGUILayout.Slider("Conform Amount", mod.conformAmount, 0.0f, 1.0f);
  20. mod.raystartoff = EditorGUILayout.FloatField("Ray Start Off", mod.raystartoff);
  21. mod.raydist = EditorGUILayout.FloatField("Ray Dist", mod.raydist);
  22. mod.offset = EditorGUILayout.FloatField("Offset", mod.offset);
  23. mod.axis = (MegaAxis)EditorGUILayout.EnumPopup("Axis", mod.axis);
  24. if ( GUILayout.Button("Add Target") )
  25. {
  26. MegaConformTarget targ = new MegaConformTarget();
  27. mod.targets.Add(targ);
  28. GUI.changed = true;
  29. }
  30. for ( int i = 0; i < mod.targets.Count; i++ )
  31. {
  32. mod.targets[i].target = (GameObject)EditorGUILayout.ObjectField("Object", mod.targets[i].target, typeof(GameObject), true);
  33. mod.targets[i].children = EditorGUILayout.Toggle("Include Children", mod.targets[i].children);
  34. if ( GUILayout.Button("Delete") )
  35. {
  36. mod.targets.RemoveAt(i);
  37. GUI.changed = true;
  38. }
  39. }
  40. if ( GUI.changed )
  41. {
  42. mod.BuildColliderList();
  43. }
  44. return false;
  45. }
  46. }