CapersProject/Assets/BOXOPHOBIC/Utils/Editor/StyledInspector/StyledMessageDrawer.cs
2025-03-01 00:44:25 +09:00

53 lines
1.4 KiB
C#

// Cristian Pop - https://boxophobic.com/
using UnityEngine;
using UnityEditor;
namespace Boxophobic.StyledGUI
{
[CustomPropertyDrawer(typeof(StyledMessage))]
public class StyledMessageAttributeDrawer : PropertyDrawer
{
StyledMessage a;
bool show;
MessageType messageType;
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
show = property.boolValue;
if (show)
{
a = (StyledMessage)attribute;
if (a.Type == "None")
{
messageType = MessageType.None;
}
else if (a.Type == "Info")
{
messageType = MessageType.Info;
}
else if (a.Type == "Warning")
{
messageType = MessageType.Warning;
}
else if (a.Type == "Error")
{
messageType = MessageType.Error;
}
GUILayout.Space(a.Top);
EditorGUILayout.HelpBox(a.Message, messageType);
GUILayout.Space(a.Down);
}
}
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return -2;
}
}
}