docs.unity3d.com
    Show / Hide Table of Contents

    Class MenuAction

    Base class for any action that appears on the ProBuilder toolbar.

    Inheritance
    Object
    MenuAction
    MenuToolToggle
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEditor.ProBuilder
    Syntax
    public abstract class MenuAction

    Constructors

    MenuAction()

    Creates a new button on the ProBuilder toolbar in the Editor.

    Declaration
    protected MenuAction()

    Fields

    onPerformAction

    Invoked when the user selects an action to perform from the toolbar.

    Declaration
    public static Action<MenuAction> onPerformAction
    Field Value
    Type Description
    Action<MenuAction>

    Properties

    disabledIcon

    Gets the icon to use when the action button on the toolbar is disabled. By default, this function looks for an image named ${icon}_disabled. Override this function if your disabled icon does not follow that naming convention or location.

    Declaration
    protected virtual Texture2D disabledIcon { get; }
    Property Value
    Type Description
    Texture2D

    enabled

    Gets whether or not the action is valid given the current selection.

    True if this action is valid with the current selection and mode.

    Declaration
    public virtual bool enabled { get; }
    Property Value
    Type Description
    Boolean
    See Also
    hidden

    group

    Gets the category assigned to this action.

    Declaration
    public abstract ToolbarGroup group { get; }
    Property Value
    Type Description
    ToolbarGroup

    hasFileMenuEntry

    Gets whether this class should have an entry built into the hardware menu. This is not implemented for custom actions.

    Declaration
    protected virtual bool hasFileMenuEntry { get; }
    Property Value
    Type Description
    Boolean

    hidden

    Gets whether this action is visible in the ProBuilder toolbar.

    True if this action appears in the toolbar with the current mode and settings; false otherwise.

    Declaration
    public virtual bool hidden { get; }
    Property Value
    Type Description
    Boolean
    Remarks

    This returns false by default.

    See Also
    enabled

    icon

    Gets the icon to display on the toolbar for this action.

    Declaration
    public abstract Texture2D icon { get; }
    Property Value
    Type Description
    Texture2D
    Remarks

    This property is not used when the Toolbar display mode is set to text.

    iconMode

    Gets or sets whether the Toolbar display mode is set to Icon mode (true) or Text mode (false).

    Declaration
    protected bool iconMode { get; set; }
    Property Value
    Type Description
    Boolean

    menuActionState

    Gets a flag that indicates both the visibility and enabled state of an action to determine whether the current mode and selection is valid for it.

    Declaration
    public MenuAction.MenuActionState menuActionState { get; }
    Property Value
    Type Description
    MenuAction.MenuActionState

    .

    menuTitle

    Gets the override title for this action to display on the toolbar button.

    Declaration
    public virtual string menuTitle { get; }
    Property Value
    Type Description
    String
    Remarks

    If you don't implement this property, toolbar button displays the tooltip title.

    optionsMenuState

    Gets a flag that indicates whether the action implements extra options. If it does, it must also implement OnSettingsGUI() so that an options indicator appears for this action button.

    Declaration
    protected virtual MenuAction.MenuActionState optionsMenuState { get; }
    Property Value
    Type Description
    MenuAction.MenuActionState

    toolbarPriority

    Gets the value to optionally influence where this menu item appears in the toolbar. The default value is -1 (no preference).

    Declaration
    public virtual int toolbarPriority { get; }
    Property Value
    Type Description
    Int32
    Remarks

    0 is first, 1 is second, -1 is no preference.

    tooltip

    Gets the contents of the tooltip to display for this menu action.

    Declaration
    public abstract TooltipContent tooltip { get; }
    Property Value
    Type Description
    TooltipContent

    validSelectModes

    Gets the SelectMode states where this action applies. This drives the hidden property unless you override it.

    Declaration
    public virtual SelectMode validSelectModes { get; }
    Property Value
    Type Description
    SelectMode

    Methods

    DoAltButton(GUILayoutOption[])

    Draws the menu item for this action in Text mode.

    Declaration
    protected bool DoAltButton(params GUILayoutOption[] options)
    Parameters
    Type Name Description
    GUILayoutOption[] options

    Optional array of layout options for this menu item.

    Returns
    Type Description
    Boolean

    True if successful; false otherwise.

    DoAlternateAction()

    Performs the action for this menu item when in Text mode.

    Declaration
    protected virtual void DoAlternateAction()

    OnSettingsDisable()

    Called when the settings window is closed.

    Declaration
    protected virtual void OnSettingsDisable()

    OnSettingsEnable()

    Called when the settings window is opened.

    Declaration
    protected virtual void OnSettingsEnable()

    OnSettingsGUI()

    Implement the extra settings GUI for your action in this method.

    Declaration
    protected virtual void OnSettingsGUI()

    PerformAction()

    Performs the action for this menu item. Use PerformActionImplementation() to implement the action. Calling this method triggers the onPerformAction event.

    Declaration
    public ActionResult PerformAction()
    Returns
    Type Description
    ActionResult

    A new ActionResult with a summary of the state of the action's success.

    Remarks

    Any new action classes that derive from this base class must also use the PerformAction method to register the new action in the Undo call stack.

    PerformActionImplementation()

    Performs the action for this menu item. Use this method to implement the action and then use PerformAction() to call it.

    Declaration
    protected abstract ActionResult PerformActionImplementation()
    Returns
    Type Description
    ActionResult

    A new ActionResult with a summary of the state of the action's success.

    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023