FittsLaw/Assets/Oculus/AudioManager/Scripts/Utils/Editor/DrawerInspectorNote.cs

78 lines
2.2 KiB
C#
Raw Normal View History

2018-10-09 20:59:57 -04:00
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
[CustomPropertyDrawer(typeof(InspectorNoteAttribute))]
public class DrawerInspectorNote : DecoratorDrawer
{
public override void OnGUI( Rect position )
{
InspectorNoteAttribute note = attribute as InspectorNoteAttribute;
// our header is always present
Rect posLabel = position;
posLabel.y += 13;
posLabel.x -= 2;
posLabel.height += 13;
EditorGUI.LabelField(posLabel, note.header, EditorStyles.whiteLargeLabel);
// do we have a message too?
if (!string.IsNullOrEmpty(note.message))
{
Color color = GUI.color;
Color faded = color;
faded.a = 0.6f;
Rect posExplain = posLabel;
posExplain.y += 15;
GUI.color = faded;
EditorGUI.LabelField(posExplain, note.message, EditorStyles.whiteMiniLabel);
GUI.color = color;
}
Rect posLine = position;
posLine.y += string.IsNullOrEmpty(note.message) ? 30 : 42;
posLine.height = 1f;
GUI.Box(posLine, "");
}
public override float GetHeight() {
InspectorNoteAttribute note = attribute as InspectorNoteAttribute;
return string.IsNullOrEmpty( note.message ) ? 38 : 50;
}
}
[CustomPropertyDrawer( typeof( InspectorCommentAttribute ) )]
public class DrawerInspectorComment : DecoratorDrawer {
public override void OnGUI( Rect position ) {
InspectorCommentAttribute comment = attribute as InspectorCommentAttribute;
// our header is always present
Rect posLabel = position;
//posLabel.y += 13;
//posLabel.x -= 2;
//posLabel.height += 13;
//EditorGUI.LabelField( posLabel, comment.header, EditorStyles.whiteLargeLabel );
// do we have a message too?
if ( !string.IsNullOrEmpty( comment.message ) ) {
Color color = GUI.color;
Color faded = color;
faded.a = 0.6f;
Rect posExplain = posLabel;
posExplain.y += 15;
GUI.color = faded;
EditorGUI.LabelField( posExplain, comment.message, EditorStyles.whiteMiniLabel );
GUI.color = color;
}
}
public override float GetHeight() {
InspectorNoteAttribute note = attribute as InspectorNoteAttribute;
return string.IsNullOrEmpty( note.message ) ? 38 : 50;
}
}