Sends an Event to a window.
The SendEvent public function passes a selected
Event to a chosen visible window. The Event can be
found in the EventType list.
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"); } }