/// <summary> /// Draws the element, returning an event that indicates how the minibuttons are pressed. /// </summary> /// <param name="containingRect">The rect to draw the element inside.</param> /// <param name = "guiOptions">Options to use when drawing the operation GUI.</param> /// <returns>A ListButtonEvent indicating if a button was clicked.</returns> public RenameOperationSortingButtonEvent DrawGUI(Rect containingRect, RenameOperationGUIOptions guiOptions) { var paddedContainer = containingRect.AddPadding(Padding.left, Padding.right, Padding.top, Padding.bottom); var operationStyle = new GUIStyle("ScriptText"); GUI.Box(containingRect, "", operationStyle); var headerRect = new Rect(paddedContainer); headerRect.height = HeaderHeight; RenameOperationSortingButtonEvent buttonEvent = this.DrawHeaderAndReorderButtons( headerRect, this.HeadingLabel, guiOptions.DisableUpButton, guiOptions.DisableDownButton); EditorGUI.indentLevel++; var contentsRect = new Rect(paddedContainer); contentsRect.y += headerRect.height + HeaderAndContentSpacing; contentsRect.height -= headerRect.height; this.DrawContents(contentsRect, guiOptions.ControlPrefix); EditorGUI.indentLevel--; var coloredHighlightRect = new Rect(containingRect); coloredHighlightRect.yMin += 2.0f; coloredHighlightRect.yMax -= 1.0f; coloredHighlightRect.xMin += 2.0f; coloredHighlightRect.width = 3.0f; var oldColor = GUI.color; GUI.color = this.HighlightColor; GUI.DrawTexture(coloredHighlightRect, Texture2D.whiteTexture); GUI.color = oldColor; return(buttonEvent); }