Описание
Отправляет событие в окно.
Общедоступная функция SendEvent передает выбранное событие в выбранное видимое окно. Event можно найти в списке EventType.
В следующих сценариях sendEvent
выполняет поиск окна receiveEvent
. Затем при нажатии кнопки отправляется событие Paste
.
// Отправить событие в другое окно редактора. Эта секунда
// окно должно быть видимым, чтобы принять событие.
using UnityEngine;
using UnityEditor;
public class sendEvent : EditorWindow
{
[MenuItem("Examples/Send Event")]
static void Init()
{
sendEvent window =
EditorWindow.GetWindow(true, "Send Event Window");
window.Show();
}
void OnGUI()
{
if (GUI.Button(new Rect(10.0f, 10.0f, 100.0f, 30.0f), "Send Event"))
{
EditorWindow win = GetWindow();
win.SendEvent(EditorGUIUtility.CommandEvent("Paste"));
}
}
}
// Небольшое окно редактора, принимающее отправленные события.
using UnityEngine;
using UnityEditor;
public class receiveEvent : EditorWindow
{
[MenuItem("Examples/Receive Event")]
static void Init()
{
receiveEvent window =
EditorWindow.GetWindow(true, "Receive Event Window");
window.Show();
}
void OnGUI()
{
Event e = Event.current;
if (e.commandName == "Paste")
Debug.Log("Paste received");
}
}