private void PaintSearch() { EditorGUILayout.BeginHorizontal(); this.search = this.searchField.OnGUI(this.search); GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.Width(80f), GUILayout.Height(18f) }; EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(this.search)); string[] tags = GlobalTagsEditor.GetTagNames(); this.tagsMask = EditorGUILayout.MaskField( GUIContent.none, this.tagsMask, tags, EditorStyles.miniButtonLeft, options ); EditorGUI.EndDisabledGroup(); if (GUILayout.Button("Edit Tags", EditorStyles.miniButtonRight, options)) { PopupWindow.Show(this.editTagsRect, new TagsEditorWindow()); } if (UnityEngine.Event.current.type == EventType.Repaint) { this.editTagsRect = GUILayoutUtility.GetLastRect(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); }
private void PaintTags() { if (!this.UseTags()) { return; } Rect rect = GUILayoutUtility.GetRect( EditorGUIUtility.fieldWidth + EditorGUIUtility.fieldWidth, EditorGUIUtility.singleLineHeight ); Rect rectLabel = new Rect( rect.x, rect.y, EditorGUIUtility.labelWidth, rect.height ); Rect rectMask = new Rect( rect.x + rectLabel.width, rect.y, rect.width - rectLabel.width, rect.height ); EditorGUI.PrefixLabel(rectLabel, GUICONTENT_TAGS); this.spVariableTags.intValue = EditorGUI.MaskField( rectMask, this.spVariableTags.intValue, GlobalTagsEditor.GetTagNames() ); }