每当焦点编辑器窗口发生变化时调用。
using UnityEditor; using UnityEngine; using UnityEngine.UIElements; public class FocusedWindowTracker : EditorWindow { [MenuItem("Window/Focused Window Tracker")] private static void ShowTracker() => GetWindow<FocusedWindowTracker>(); private void CreateGUI() { var label = new Label("I'm logging every focused window"); rootVisualElement.Add(label); } private void OnEnable() { EditorWindow.windowFocusChanged += TrackFocusedWindow; } private void OnDisable() { EditorWindow.windowFocusChanged -= TrackFocusedWindow; } private static void TrackFocusedWindow() { Debug.Log($"Current focused window is {focusedWindow.titleContent.text}."); } }