Version: 2023.2

EditorWindow.mouseOverWindow

切换到手册
public static EditorWindow mouseOverWindow ;

描述

当前在鼠标光标下的 EditorWindow。(只读)

如果光标下没有窗口,则 mouseOverWindow 可以为 null。

另请参阅:focusedWindow

\ 将鼠标移动到其他 Unity 窗口之上,以自动聚焦这些窗口。

// The window appears in front of the Editor.
// The window shows the type of a Unity object the cursor is over.

using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;

public class MouseOverWindowExample : EditorWindow
{
    string mouseOver = "Nothing...";
    Label label;

    [MenuItem("Examples/Mouse Over Example")]
    static void Init()
    {
        GetWindow<MouseOverWindowExample>("mouseOver");
    }

    void CreateGUI()
    {
        label = new Label($"Mouse over: {mouseOver}");
        rootVisualElement.Add(label);
    }

    void Update()
    {
        label.schedule.Execute(() =>
        {
            mouseOver = EditorWindow.mouseOverWindow ?
                        EditorWindow.mouseOverWindow.ToString() : "Nothing...";
            label.text = $"Mouse over: {mouseOver}";
        }).Every(10);
    }
}