SendEvent(Event)
Sends an Event to a window.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
public bool SendEvent(Event e)
Parameters
Returns
Type | Description |
|---|---|
| bool |
Remarks
The EditorWindow.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 looks up the window. A event is then sent over when the button is pressed.
SendEventExampleReceiveEventExamplePasteExamples
// Send an event to another editor window. The second// window needs to be visible to receive the event.using UnityEngine;using UnityEditor;using UnityEngine.UIElements;public class SendEventExample : EditorWindow{ [MenuItem("Examples/Send Event")] static void Init() { SendEventExample window = EditorWindow.GetWindow<SendEventExample>(true, "Send Event Window"); window.Show(); } void CreateGUI() { var buttonSendEvent = new Button(); buttonSendEvent.text = "Send Event"; buttonSendEvent.clicked += () => { EditorWindow win = GetWindow<ReceiveEventExample>(); if (win) using (var commandEvent = ExecuteCommandEvent.GetPooled(EditorGUIUtility.CommandEvent("Paste"))) { win.rootVisualElement.SendEvent(commandEvent); } }; rootVisualElement.Add(buttonSendEvent); }}
// An Editor window that receives sent events.using UnityEngine;using UnityEditor;using UnityEngine.UIElements;public class ReceiveEventExample : EditorWindow{ [MenuItem("Examples/Receive Events")] static void Init() { ReceiveEventExample window = EditorWindow.GetWindow<ReceiveEventExample>(true, "Receive Events Window"); window.Show(); } void CreateGUI() { var button = new Button(); button.text = "Button"; rootVisualElement.Add(button); rootVisualElement.RegisterCallback<ExecuteCommandEvent>(evt => { if (evt.commandName == "Paste") button.text = "Paste received"; }, TrickleDown.TrickleDown); }}