Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


SendEvent(Event)

Sends an Event to a window.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEditor
  • Assembly: UnityEditor
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 SendEventExample looks up the ReceiveEventExample window. A Paste event is then sent over when the button is pressed.

Examples

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