78 lines
2.2 KiB
C#
78 lines
2.2 KiB
C#
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;
|
|
}
|
|
}
|