public static bool ObjectTitlebar(UnityEngine.Object targetObject, bool foldout ,ref bool enabled, GenericMenu settings){ int controlID = EditorGUIUtility.GetControlID (FocusType.Passive); GUIContent content = new GUIContent (targetObject.name.Replace("/","."), targetObject.GetTooltip()); Rect position= GUILayoutUtility.GetRect(GUIContent.none, FsmEditorStyles.inspectorTitle); Rect rect = new Rect(position.x + (float)FsmEditorStyles.inspectorTitle.padding.left, position.y + (float)FsmEditorStyles.inspectorTitle.padding.top, 16f, 16f); Rect rect1 = new Rect(position.xMax - (float)FsmEditorStyles.inspectorTitle.padding.right - 2f - 16f, rect.y, 16f, 16f); Rect rect4 = rect1; rect4.x = rect4.x - 18f; Rect rect2 = new Rect(position.x + 2f + 2f + 16f*2, rect.y, 100f, rect.height) { xMax = rect4.xMin - 2f }; Rect rect3 = new Rect(position.x + 16f, rect.y, 16f, 16f); enabled=GUI.Toggle (rect3, enabled,GUIContent.none); string url=targetObject.GetHelpUrl(); if (ErrorChecker.HasErrors (targetObject)) { Rect rect5 = rect4; rect5.y += 1.0f; if(!string.IsNullOrEmpty(url)){ rect5.x = rect5.x - 18f; rect2.xMax=rect5.x; } GUI.Label (rect5, FsmEditorStyles.errorIcon, FsmEditorStyles.inspectorTitleText); } if (GUI.Button(rect1, FsmEditorStyles.popupIcon,FsmEditorStyles.inspectorTitleText)) { settings.ShowAsContext(); } if (!string.IsNullOrEmpty(url) && GUI.Button(rect4, FsmEditorStyles.helpIcon,FsmEditorStyles.inspectorTitleText)) { Application.OpenURL(url); } EventType eventType = Event.current.type; if (eventType != EventType.MouseDown) { if (eventType == EventType.Repaint) { FsmEditorStyles.inspectorTitle.Draw (position, GUIContent.none, controlID, foldout); Color color = GUI.contentColor; if (FsmEditor.Active != null && FsmEditor.Active.Owner != null) { ICodeBehaviour behaviour=FsmEditor.Active.Owner; if(behaviour.ActiveNode is State && (behaviour.ActiveNode as State).ActiveAction==targetObject){ GUI.contentColor = Color.green; } } FsmEditorStyles.inspectorTitleText.Draw (rect2, content, controlID, foldout); GUI.contentColor = color; } } position.width = 15; bool flag = FsmGUIUtility.DoToggleForward(position,controlID, foldout,GUIContent.none,GUIStyle.none); return flag; }