summaryrefslogtreecommitdiff
path: root/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs')
-rw-r--r--Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs b/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs
new file mode 100644
index 00000000..0b2d4d4a
--- /dev/null
+++ b/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs
@@ -0,0 +1,40 @@
+// Cristian Pop - https://boxophobic.com/
+
+using UnityEngine;
+using UnityEditor;
+
+namespace Boxophobic.StyledGUI
+{
+ [CustomPropertyDrawer(typeof(StyledPopupLayers))]
+ public class StyledPopupLayersAttributeDrawer : PropertyDrawer
+ {
+ private int index;
+
+ public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+ {
+ index = property.intValue;
+
+ string[] allLayers = new string[32];
+
+ for (int i = 0; i < 32; i++)
+ {
+ if (LayerMask.LayerToName(i).Length < 1)
+ {
+ allLayers[i] = "Missing";
+ }
+ else
+ {
+ allLayers[i] = LayerMask.LayerToName(i);
+ }
+ }
+
+ index = EditorGUILayout.Popup(property.displayName, index, allLayers);
+ property.intValue = index;
+ }
+
+ public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+ {
+ return -2;
+ }
+ }
+}