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