holopy3/Assets/Plugins/RootMotion/Editor/Shared Scripts/LargeHeaderDrawer.cs

54 lines
1.4 KiB
C#
Raw Permalink Normal View History

2020-12-10 14:25:12 +00:00
using UnityEditor;
using UnityEngine;
namespace RootMotion {
// Custom drawer for the LargeHeader attribute
[CustomPropertyDrawer (typeof (LargeHeader))]
public class LargeHeaderDrawer : DecoratorDrawer
{
// Used to calculate the height of the box
public static Texture2D lineTex = null;
private GUIStyle style;
LargeHeader largeHeader { get { return ((LargeHeader) attribute); } }
// Get the height of the element
public override float GetHeight ()
{
return base.GetHeight () * 2f;
}
// Override the GUI drawing for this attribute
public override void OnGUI (Rect pos)
{
// Get the color the line should be
Color color = Color.white;
switch (largeHeader.color.ToString().ToLower())
{
case "white": color = Color.white; break;
case "red": color = Color.red; break;
case "blue": color = Color.blue; break;
case "green": color = Color.green; break;
case "gray": color = Color.gray; break;
case "grey": color = Color.grey; break;
case "black": color = Color.black; break;
}
color *= 0.7f;
style = new GUIStyle(GUI.skin.label);
style.fontSize = 16;
style.fontStyle = FontStyle.Normal;
style.alignment = TextAnchor.LowerLeft;
GUI.color = color;
Rect labelRect = pos;
//labelRect.y += 10;
EditorGUI.LabelField(labelRect, largeHeader.name, style);
GUI.color = Color.white;
}
}
}