#if UNITY_EDITOR // Cartoon FX - (c) 2015 Jean Moreno // Help Component that can be added to any GameObject or Prefab // // Can be useful if you want to add comments to a particular // Prefab or GameObject about its usage using UnityEngine; using UnityEditor; using System.Collections; [CustomEditor(typeof(CFX_InspectorHelp))] public class CFX_InspectorHelpEditor : Editor { private CFX_InspectorHelp inspHelp { get { return (this.target as CFX_InspectorHelp); } } public override void OnInspectorGUI () { if(inspHelp.Locked) { ShowHelpGUI(); } else { EditorStyles.textField.wordWrap = true; inspHelp.Title = EditorGUILayout.TextField(inspHelp.Title); inspHelp.HelpText = EditorGUILayout.TextArea(inspHelp.HelpText); inspHelp.MsgType = (int)((MessageType)EditorGUILayout.EnumPopup("Message Type", (MessageType)inspHelp.MsgType)); EditorGUILayout.HelpBox("Use the contextual menu (right click or cog icon) on this Component to enable editing back", MessageType.Warning); if(GUILayout.Button("Lock Message", GUILayout.Height(30))) { inspHelp.Locked = true; } if(GUI.changed) { EditorUtility.SetDirty(inspHelp); } GUILayout.Space(12); EditorGUILayout.LabelField("MESSAGE PREVIEW:", EditorStyles.largeLabel); ShowHelpGUI(); } } private void ShowHelpGUI() { GUILayout.Space(12); if(!string.IsNullOrEmpty(inspHelp.Title)) { EditorGUILayout.LabelField(inspHelp.Title, EditorStyles.boldLabel); } EditorGUILayout.HelpBox(inspHelp.HelpText, (MessageType)inspHelp.MsgType); GUILayout.Space(12); } } #endif