diff options
Diffstat (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs')
-rw-r--r-- | Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs b/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs new file mode 100644 index 00000000..79fb4543 --- /dev/null +++ b/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs @@ -0,0 +1,80 @@ +// Cristian Pop - https://boxophobic.com/
+
+using UnityEngine;
+using UnityEditor;
+using System;
+
+namespace Boxophobic.StyledGUI
+{
+ public class StyledToggleDrawer : MaterialPropertyDrawer
+ {
+ public float width = 0;
+
+ public StyledToggleDrawer()
+ {
+
+ }
+
+ public StyledToggleDrawer(float width)
+ {
+ this.width = width;
+ }
+
+ public override void OnGUI(Rect position, MaterialProperty prop, String label, MaterialEditor materialEditor)
+ {
+ Material material = materialEditor.target as Material;
+
+ if (width == 0)
+ {
+ bool toggle = false;
+
+ if (prop.floatValue > 0.5f)
+ {
+ toggle = true;
+ }
+
+ toggle = EditorGUILayout.Toggle(label, toggle);
+
+ if (toggle)
+ {
+ prop.floatValue = 1;
+ }
+ else
+ {
+ prop.floatValue = 0;
+ }
+ }
+ else
+ {
+ GUILayout.BeginHorizontal();
+
+ GUILayout.Label(label);
+
+ bool toggle = false;
+
+ if (prop.floatValue > 0.5f)
+ {
+ toggle = true;
+ }
+
+ toggle = GUILayout.Toggle(toggle, "", GUILayout.Width(width));
+
+ if (toggle)
+ {
+ prop.floatValue = 1;
+ }
+ else
+ {
+ prop.floatValue = 0;
+ }
+
+ GUILayout.EndHorizontal();
+ }
+ }
+
+ public override float GetPropertyHeight(MaterialProperty prop, string label, MaterialEditor editor)
+ {
+ return -2;
+ }
+ }
+}
|