//HELP AREA void DoFooter(Rect helpRect, Event e) { helpRectRequiredHeight = 0; var hoveringNode = hoveringIndex >= 0 && currentNode.children.Count > 0 ? currentNode.children.Values.ToList()[hoveringIndex] : null; GUI.color = new Color(0, 0, 0, 0.3f); Styles.Draw(helpRect, GUI.skin.textField); GUI.color = Color.white; GUILayout.BeginArea(helpRect); GUILayout.BeginVertical(); var doc = string.Empty; if (hoveringNode != null && hoveringNode.isLeaf) { doc = hoveringNode.item.content.tooltip; var memberInfo = hoveringNode.item.userData as MemberInfo; if (memberInfo != null && string.IsNullOrEmpty(doc)) { if (memberInfo is System.Type) { doc = TypePrefs.GetTypeDoc(memberInfo); } else { doc = XMLDocs.GetMemberSummary(memberInfo); } } } GUILayout.Label(string.Format("<size=9>{0}</size>", doc), helpStyle); GUILayout.EndVertical(); GUILayout.EndArea(); }
///<summary>Get documentation for type fetched either by the [Description] attribute, or it's xml doc.</summary> public static string GetTypeDoc(MemberInfo info) { if (info == null) { return(null); } var type = info is Type ? info as Type : info.ReflectedType; if (type == null) { return(null); } string doc = null; if (typeDocs.TryGetValue(type.FullName, out doc)) { return(doc); } var descAtt = type.RTGetAttribute <DescriptionAttribute>(true); if (descAtt != null) { doc = descAtt.description; } if (doc == null) { doc = XMLDocs.GetMemberSummary(type); } if (doc == null) { doc = "No Documentation"; } return(typeDocs[type.FullName] = doc); }