37 lines
1016 B
C#
37 lines
1016 B
C#
// 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;
|
|
}
|
|
}
|
|
}
|