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.
#pragma strict // Send an event to another editor window. This second // window needs to be visible to receive the event. public class sendEvent extends EditorWindow { @MenuItem("Examples/Send Event") static function Init() { var window: sendEvent = EditorWindow.GetWindow.<sendEvent>(true, "Send Event Window"); window.Show(); } function OnGUI() { if (GUI.Button(new Rect(10.0f, 10.0f, 100.0f, 30.0f), "Send Event")) { var win: EditorWindow = GetWindow.<receiveEvent>(); win.SendEvent(EditorGUIUtility.CommandEvent("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")); } } }
#pragma strict // A small editor window that receives sent events. public class receiveEvent extends EditorWindow { @MenuItem("Examples/Receive Event") static function Init() { var window: receiveEvent = EditorWindow.GetWindow.<receiveEvent>(true, "Receive Event Window"); window.Show(); } function OnGUI() { var e: Event = Event.current; if (e.commandName == "Paste") Debug.Log("Paste received"); } }
// 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"); } }
Did you find this page useful? Please give it a rating: