Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

GenericMenu

class in UnityEditor

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える

説明

コンテキストメニューやドロップダウンメニューを作成するクラスです

次の例では、緑のエリアの Editor ウィンドウが開きます。緑のエリアをコンテキストクリックするとコンテキストメニューが表示され、項目を選択するときにスクリプトにコールバックするトリガがかかります。

.


        
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(); } } } }

Public 関数

AddDisabledItem選択不可のアイテムをメニューに追加します
AddItemメニューにアイテムを追加します
AddSeparator区切り文字を追加します。空文字列(“”)の場合は区切り線になります
DropDown今まで追加されたメニューを Rect 範囲内でドロップダウンメニューとして表示します
GetItemCountメニューに追加されているアイテムの数を取得します
ShowAsContext右クリックしたときのマウスの位置にメニューを表示します。

デリゲート

MenuFunctionメニュー項目を選択したときに呼び出されるコールバック関数
MenuFunction2メニュー項目を選択したときに呼び出されるユーザーデータを持つコールバック関数