Version: 2021.3
public bool SendEvent (Event e);

描述

将事件发送到窗口。

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