将事件发送到窗口。
SendEvent 公共函数会将选中的
Event 传递给所选的可见窗口。Event 可以在
EventType 列表中找到。
In the following scripts sendEvent
looks up the receiveEvent
window.
A Paste
event is then sent over when the button is pressed.
// Send an event to another editor window. This second
// window needs to be visible to receive the event.
using UnityEngine;
using UnityEditor;
public class sendEvent : EditorWindow
{
[MenuItem("Examples/Send Event")]
static void Init()
{
sendEvent window =
EditorWindow.GetWindow<sendEvent>(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<receiveEvent>();
win.SendEvent(EditorGUIUtility.CommandEvent("Paste"));
}
}
}
// A small editor window that receives sent events.
using UnityEngine;
using UnityEditor;
public class receiveEvent : EditorWindow
{
[MenuItem("Examples/Receive Event")]
static void Init()
{
receiveEvent window =
EditorWindow.GetWindow<receiveEvent>(true, "Receive Event Window");
window.Show();
}
void OnGUI()
{
Event e = Event.current;
if (e.commandName == "Paste")
Debug.Log("Paste received");
}
}