summaryrefslogtreecommitdiff
path: root/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-11-26 20:52:34 +0800
committerchai <chaifix@163.com>2020-11-26 20:52:34 +0800
commit5b158af90739dcbb89c1538a6cb8c65a875dce80 (patch)
treef0437fff6efaab91ac850152a08aef288d572aab /Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs
parentbc4d5201fc537f70cdcb576b57aaeb5d96527112 (diff)
*misc
Diffstat (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs')
-rw-r--r--Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs b/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs
new file mode 100644
index 00000000..bcf8bbdb
--- /dev/null
+++ b/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledPopupArrayDrawer.cs
@@ -0,0 +1,36 @@
+// Cristian Pop - https://boxophobic.com/
+
+using UnityEngine;
+using UnityEditor;
+
+namespace Boxophobic.StyledGUI
+{
+ [CustomPropertyDrawer(typeof(StyledPopupArray))]
+ public class StyledPopupArrayAttributeDrawer : PropertyDrawer
+ {
+ StyledPopupArray a;
+ private int index = 0;
+
+ public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+ {
+ a = (StyledPopupArray)attribute;
+
+ var arrProp = property.serializedObject.FindProperty(a.array);
+
+ var arr = new string[arrProp.arraySize];
+
+ for (int i = 0; i < arrProp.arraySize; i++)
+ {
+ arr[i] = arrProp.GetArrayElementAtIndex(i).stringValue;
+ }
+
+ index = EditorGUILayout.Popup(property.displayName, index, arr);
+ property.intValue = index;
+ }
+
+ public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+ {
+ return -2;
+ }
+ }
+}