summaryrefslogtreecommitdiff
path: root/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs')
-rw-r--r--Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledToggleDrawer.cs80
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;
+ }
+ }
+}