2021-12-07 10:20:36 -05:00
|
|
|
|
using TriInspector.Utilities;
|
|
|
|
|
using UnityEditor;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace TriInspector.Elements
|
|
|
|
|
{
|
|
|
|
|
public class TriInfoBoxElement : TriElement
|
|
|
|
|
{
|
|
|
|
|
private readonly GUIContent _message;
|
|
|
|
|
private readonly Color _color;
|
|
|
|
|
|
|
|
|
|
public TriInfoBoxElement(string message, MessageType type = MessageType.None, Color? color = null)
|
|
|
|
|
{
|
|
|
|
|
_message = new GUIContent(message, EditorGUIUtilityProxy.GetHelpIcon(type));
|
|
|
|
|
_color = color ?? GetColor(type);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override float GetHeight(float width)
|
|
|
|
|
{
|
|
|
|
|
return EditorStyles.helpBox.CalcHeight(_message, width);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnGUI(Rect position)
|
|
|
|
|
{
|
2022-01-10 02:39:14 -05:00
|
|
|
|
using (TriGuiHelper.PushColor(_color))
|
|
|
|
|
{
|
|
|
|
|
GUI.Label(position, _message, EditorStyles.helpBox);
|
|
|
|
|
}
|
2021-12-07 10:20:36 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static Color GetColor(MessageType type)
|
|
|
|
|
{
|
|
|
|
|
switch (type)
|
|
|
|
|
{
|
|
|
|
|
case MessageType.Error:
|
|
|
|
|
return Color.red;
|
|
|
|
|
|
|
|
|
|
case MessageType.Warning:
|
|
|
|
|
return Color.yellow;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return Color.white;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|