commandName | The command to be sent. |
Creates an event that can be sent to another window.
#pragma strict
class CommandEventExample extends EditorWindow {
var eventCount : int = 0;
@MenuItem("Examples/CommandEvent example") static function Init() { var window = GetWindowWithRect.<CommandEventExample>(Rect(0, 0, 150, 40)); window.Show(); }
function OnGUI() { if (GUILayout.Button("Paste")) { var e : Event = EditorGUIUtility.CommandEvent("Paste"); var ew : EditorWindow = EditorWindow.GetWindow.<CommandEventTest>(true); ew.SendEvent(e); } }
}
// Sends a paste event to an EditorWindow, as if Paste // was selected from the Edit menu.
using UnityEngine; using UnityEditor;
public class CommandEventExample : EditorWindow { [MenuItem("Examples/CommandEvent example")] static void commandEventExample() { CommandEventExample window = EditorWindow.GetWindowWithRect<CommandEventExample>(new Rect(0, 0, 150, 40)); window.Show(); }
void OnGUI() { if (GUILayout.Button("Paste")) { Event e = EditorGUIUtility.CommandEvent("Paste"); EditorWindow ew = EditorWindow.GetWindow<CommandEventTest>(true); ew.SendEvent(e); } } }
The script below receives the Paste message sent from CommandEventExample above.
#pragma strict
class CommandEventTest extends EditorWindow {
var eventCount : int = 0;
@MenuItem("Examples/Example that receives a paste event") static function Init() { var window = GetWindow(CommandEventTest); window.Show(); }
function OnGUI() { EditorGUI.LabelField(new Rect(10, 10, 90, 30), "Paste: " + eventCount.ToString());
if (Event.current.type == EventType.ExecuteCommand) { var e : Event = Event.current; if (e.commandName == "Paste") { eventCount = eventCount + 1; } } } }
using UnityEngine; using UnityEditor;
public class CommandEventTest : EditorWindow { private int eventCount = 0;
[MenuItem("Examples/Example that receives a paste event")] static void test() { CommandEventTest window = EditorWindow.GetWindowWithRect<CommandEventTest>(new Rect(0, 0, 100, 40)); window.Show(); }
void OnGUI() { EditorGUI.LabelField(new Rect(10, 10, 90, 30), "Paste: " + eventCount.ToString());
if (Event.current.type == EventType.ExecuteCommand) { Event e = Event.current; if (e.commandName == "Paste") { eventCount = eventCount + 1; } } } }
Did you find this page useful? Please give it a rating: