Version: 5.6

GenericMenu

class in UnityEditor

Cambiar al Manual

Descripción

The GenericMenu lets you create a custom context and dropdown menus.

The example below opens an Editor window with a green area. Context-clicking the green area shows a context menu, which triggers a callback to the script when an item is selected.

.

using UnityEngine;
using UnityEditor;
using System.Collections;

// This example shows how to create a context menu inside a custom EditorWindow. // context-click the green area to show the menu

public class GenericMenuExample : EditorWindow { [MenuItem("Example/Open Window")] static void Init() { EditorWindow window = GetWindow<GenericMenuExample>(); window.position = new Rect(50, 50, 250, 60); window.Show(); }

void Callback(object obj) { Debug.Log("Selected: " + obj); }

void OnGUI() { Event currentEvent = Event.current; Rect contextRect = new Rect(10, 10, 100, 100); EditorGUI.DrawRect(contextRect, Color.green);

if (currentEvent.type == EventType.ContextClick) { Vector2 mousePos = currentEvent.mousePosition; if (contextRect.Contains(mousePos)) { // Now create the menu, add items and show it GenericMenu menu = new GenericMenu(); menu.AddItem(new GUIContent("MenuItem1"), false, Callback, "item 1"); menu.AddItem(new GUIContent("MenuItem2"), false, Callback, "item 2"); menu.AddSeparator(""); menu.AddItem(new GUIContent("SubMenu/MenuItem3"), false, Callback, "item 3"); menu.ShowAsContext(); currentEvent.Use(); } } } }

Funciones Públicas

AddDisabledItemAñade un elemento des-habilitado al menú.
AddItemAñade un elemento al menú.
AddSeparatorAñade un separador al menú.
DropDownShow the menu at the given screen rect.
GetItemCountObtiene la cantidad de elementos en el menú.
ShowAsContextMuestra el menú bajo el ratón.

Delegados

MenuFunctionCallback function, called when a menu item is selected.
MenuFunction2Callback function with user data, called when a menu item is selected.