studycase2
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
// Cristian Pop - https://boxophobic.com/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
namespace Boxophobic.StyledGUI
|
||||
{
|
||||
[CustomPropertyDrawer(typeof(StyledRangeOptions))]
|
||||
public class StyledRangeOptionsAttributeDrawer : PropertyDrawer
|
||||
{
|
||||
StyledRangeOptions a;
|
||||
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
a = (StyledRangeOptions)attribute;
|
||||
|
||||
GUIStyle styleMid = new GUIStyle();
|
||||
styleMid.alignment = TextAnchor.MiddleCenter;
|
||||
styleMid.normal.textColor = Color.gray;
|
||||
styleMid.fontSize = 7;
|
||||
|
||||
if (a.display.Length > 0)
|
||||
{
|
||||
EditorGUI.PropertyField(position, property, label, true);
|
||||
GUILayout.Space(5);
|
||||
}
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
GUILayout.Space(8);
|
||||
property.floatValue = GUILayout.HorizontalSlider(property.floatValue, a.min, a.max);
|
||||
property.floatValue = Mathf.Clamp(property.floatValue, a.min, a.max);
|
||||
property.floatValue = Mathf.Round(property.floatValue * 1000f) / 1000f;
|
||||
GUILayout.Space(8);
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
#if UNITY_2019_3_OR_NEWER
|
||||
GUILayout.Space(15);
|
||||
#endif
|
||||
GUILayout.BeginHorizontal();
|
||||
|
||||
int maxWidth = 20;
|
||||
|
||||
#if UNITY_2019_3_OR_NEWER
|
||||
maxWidth = 28;
|
||||
#endif
|
||||
for (int i = 0; i < a.options.Length - 1; i++)
|
||||
{
|
||||
GUILayout.Label(a.options[i], styleMid, GUILayout.Width(maxWidth));
|
||||
GUILayout.Label("", styleMid);
|
||||
}
|
||||
|
||||
GUILayout.Label(a.options[a.options.Length - 1], styleMid, GUILayout.Width(maxWidth));
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
}
|
||||
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
a = (StyledRangeOptions)attribute;
|
||||
|
||||
if (a.display.Length > 0)
|
||||
{
|
||||
return 18;
|
||||
}
|
||||
else
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user