actionName | 项目名称。此名称显示在下拉菜单中。 |
action | 当用户在菜单中选择此项目时要执行的回调。 |
actionStatusCallback | 执行以确定该项目状态的回调。 |
userData | 存储在 <see cref="DropdownMenuAction" /> 项目 <b>userData</b> 属性中的对象。 |
添加一个在下拉菜单中执行操作的项目。
该项目被添加到当前项目列表的末尾。
using UnityEditor; using UnityEngine; using UnityEngine.UIElements;
public class ContextMenuWindow : EditorWindow { [MenuItem("My/Context Menu Window")] static void ShowMe() => GetWindow<ContextMenuWindow>();
void CreateGUI() { var contextMenuContainer = new VisualElement(); contextMenuContainer.style.flexGrow = 1; contextMenuContainer.AddManipulator(new ContextualMenuManipulator(e => { e.menu.AppendAction("Submenu/My Action 1", a => Debug.Log("My Action 1 Works"), action => { action.tooltip = "Status dependent tooltip"; return DropdownMenuAction.Status.Normal; }, null); }));
rootVisualElement.Add(contextMenuContainer); } }
actionName | 项目名称。此名称显示在下拉菜单中。 |
action | 当用户在菜单中选择此项目时要执行的回调。 |
status | 项目的状况。 |
添加一个在下拉菜单中执行操作的项目。
该项目被添加到当前项目列表的末尾。
using UnityEditor; using UnityEngine; using UnityEngine.UIElements;
public class ContextMenuWindow : EditorWindow { [MenuItem("My/Context Menu Window")] static void ShowMe() => GetWindow<ContextMenuWindow>();
void CreateGUI() { var contextMenuContainer = new VisualElement(); contextMenuContainer.style.flexGrow = 1; contextMenuContainer.AddManipulator(new ContextualMenuManipulator(e => { e.menu.AppendAction("My Action 1", a => Debug.Log("My Action 1 Works"), DropdownMenuAction.Status.Normal); }));
rootVisualElement.Add(contextMenuContainer); } }