将事件发送到窗口。
SendEvent 公共函数会将选中的
Event 传递给所选的可见窗口。Event 可以在
EventType 列表中找到。
\
在以下脚本中,sendEvent
会查找 receiveEvent
窗口。
然后,在按下按钮时发送 Paste
事件。
// 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"); } }