Unity 6.3
0 онлайн 75 гостей 3 в системе
Вход

EditorWindow.wantsMouseEnterLeaveWindow

Declaration

public bool wantsMouseEnterLeaveWindow;

Описание

Проверяет, получены ли события MouseEnterWindow и MouseLeaveWindow в GUI в этом окне Редактора.

Если установлено true, окно получает вызов OnGUI каждый раз, когда мышка входит в окно или выходит из него.

Примечание: Эта функция не вызывает Repaint() автоматически. Кроме того, вход в окно или выход из него при нажатии кнопки мыши не вызывает ни одного из событий, так как нажатие кнопки мыши активирует режим перетаскивания (см. EventType.MouseDrag и другие события, связанные с перетаскиванием, для более подробной информации).

// Editor Script that shows how mouse enter and leave window events
// get caught in the Editor window

using UnityEditor;
using UnityEngine;

public class WantsMouseEnterLeaveWindowEx : EditorWindow
{
    [MenuItem("Examples/wantsMouseEnterLeaveWindow example")]
    static void Init()
    {
        EditorWindow editorWindow = GetWindow(typeof(WantsMouseEnterLeaveWindowEx));
        editorWindow.Show();
    }

    public void OnGUI()
    {
        wantsMouseEnterLeaveWindow = EditorGUILayout.Toggle("Receive Enter/Leave: ", wantsMouseEnterLeaveWindow);
        EditorGUILayout.LabelField("Check Console for MouseEnter/LeaveWindow messages");

        // Repaint the window as wantsMouseEnterLeaveWindow doesn't trigger a repaint automatically
        if (Event.current.type == EventType.MouseEnterWindow ||
            Event.current.type == EventType.MouseLeaveWindow)
        {
            Debug.Log("Received event " +
                ((Event.current.type == EventType.MouseEnterWindow) ? "MouseEnterWindow" : "MouseLeaveWindow"));
            Repaint();
        }
    }   
}