Newer
Older
CGTrack / Assets / Oculus / AudioManager / Scripts / Utils / Editor / DrawerInspectorNote.cs
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;
	}
}