EnviroDefaultModuleEditor.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEditor;
  5. namespace Enviro
  6. {
  7. [CustomEditor(typeof(EnviroDefaultModule))]
  8. public class EnviroDefaultModuleEditor : EnviroModuleEditor
  9. {
  10. private EnviroDefaultModule myTarget;
  11. //Properties
  12. private SerializedProperty frontColorGradient0;
  13. //On Enable
  14. public override void OnEnable()
  15. {
  16. base.OnEnable();
  17. if(!target)
  18. return;
  19. myTarget = (EnviroDefaultModule)target;
  20. serializedObj = new SerializedObject(myTarget);
  21. preset = serializedObj.FindProperty("preset");
  22. }
  23. public override void OnInspectorGUI()
  24. {
  25. if(!target)
  26. return;
  27. base.OnInspectorGUI();
  28. GUI.backgroundColor = new Color(0.7f,0.7f,0.7f,1f);
  29. GUILayout.BeginVertical("",boxStyleModified);
  30. GUI.backgroundColor = Color.white;
  31. EditorGUILayout.BeginHorizontal();
  32. myTarget.showModuleInspector = GUILayout.Toggle(myTarget.showModuleInspector, "Default Module", headerFoldout);
  33. GUILayout.FlexibleSpace();
  34. if(GUILayout.Button("x", EditorStyles.miniButtonRight,GUILayout.Width(18), GUILayout.Height(18)))
  35. {
  36. EnviroManager.instance.RemoveModule(EnviroManager.ModuleType.Time); //Add Remove
  37. DestroyImmediate(this);
  38. return;
  39. }
  40. EditorGUILayout.EndHorizontal();
  41. if(myTarget.showModuleInspector)
  42. {
  43. EditorGUILayout.LabelField("This module will control your.");
  44. serializedObj.UpdateIfRequiredOrScript ();
  45. EditorGUI.BeginChangeCheck();
  46. // Set Values
  47. GUI.backgroundColor = categoryModuleColor;
  48. GUILayout.BeginVertical("",boxStyleModified);
  49. GUI.backgroundColor = Color.white;
  50. myTarget.showDefaultControls = GUILayout.Toggle(myTarget.showDefaultControls, "Default Controls", headerFoldout);
  51. if(myTarget.showDefaultControls)
  52. {
  53. GUILayout.Space(10);
  54. }
  55. GUILayout.EndVertical();
  56. // Save Load
  57. GUI.backgroundColor = categoryModuleColor;
  58. GUILayout.BeginVertical("",boxStyleModified);
  59. GUI.backgroundColor = Color.white;
  60. myTarget.showSaveLoad = GUILayout.Toggle(myTarget.showSaveLoad, "Save/Load", headerFoldout);
  61. if(myTarget.showSaveLoad)
  62. {
  63. EditorGUILayout.PropertyField(preset);
  64. GUILayout.BeginHorizontal("",wrapStyle);
  65. if(myTarget.preset != null)
  66. {
  67. if(GUILayout.Button("Load"))
  68. {
  69. myTarget.LoadModuleValues();
  70. }
  71. if(GUILayout.Button("Save"))
  72. {
  73. myTarget.SaveModuleValues(myTarget.preset);
  74. }
  75. }
  76. if(GUILayout.Button("Save As New"))
  77. {
  78. myTarget.SaveModuleValues();
  79. }
  80. GUILayout.EndHorizontal();
  81. }
  82. GUILayout.EndVertical();
  83. /// Save Load End
  84. ApplyChanges ();
  85. }
  86. GUILayout.EndVertical();
  87. if(myTarget.showModuleInspector)
  88. GUILayout.Space(20);
  89. }
  90. }
  91. }