Параметры
commandName | Команда для отправки. |
Описание
Создает событие, которое можно отправить в другое окно.
// Отправляет событие вставки в EditorWindow, как если бы Paste
// был выбран в меню «Правка».
using UnityEngine;
using UnityEditor;
public class CommandEventExample : EditorWindow
{
[MenuItem("Examples/CommandEvent example")]
static void commandEventExample()
{
CommandEventExample window = EditorWindow.GetWindowWithRect(new Rect(0, 0, 150, 40));
window.Show();
}
void OnGUI()
{
if (GUILayout.Button("Paste"))
{
Event e = EditorGUIUtility.CommandEvent("Paste");
EditorWindow ew = EditorWindow.GetWindow(true);
ew.SendEvent(e);
}
}
}
Приведенный ниже сценарий получает сообщение Paste, отправленное из CommandEventExample выше.
using UnityEngine;
using UnityEditor;
public class CommandEventTest : EditorWindow
{
private int eventCount = 0;
[MenuItem("Examples/Example that receives a paste event")]
static void test()
{
CommandEventTest window = EditorWindow.GetWindowWithRect(new Rect(0, 0, 100, 40));
window.Show();
}
void OnGUI()
{
EditorGUI.LabelField(new Rect(10, 10, 90, 30), "Paste: " + eventCount.ToString());
if (Event.current.type == EventType.ExecuteCommand)
{
Event e = Event.current;
if (e.commandName == "Paste")
{
eventCount = eventCount + 1;
}
}
}
}