summaryrefslogtreecommitdiff
path: root/Assets/Art/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-09-08 10:52:35 +0800
committerchai <chaifix@163.com>2021-09-08 10:52:35 +0800
commit21e186f75b504d832d9c7bef0456edd7d5d3155e (patch)
treee73c43fc78d0326f32da5fadfda57fa8e23c1d90 /Assets/Art/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs
parent7bd7b4c6c3be6840cab06aa4d8a38619bce44705 (diff)
+behavior design
Diffstat (limited to 'Assets/Art/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs')
-rw-r--r--Assets/Art/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/Assets/Art/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs b/Assets/Art/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs
new file mode 100644
index 00000000..0b2d4d4a
--- /dev/null
+++ b/Assets/Art/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;
+ }
+ }
+}