From 5b158af90739dcbb89c1538a6cb8c65a875dce80 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 26 Nov 2020 20:52:34 +0800 Subject: *misc --- .../StyledInspector/StyledPopupLayersDrawer.cs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupLayersDrawer.cs') 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; + } + } +} -- cgit v1.1-26-g67d0