ISupportsOverlaysWithFilter
Описание
Интерфейс для включения и фильтрации определенных накладок в EditorWindow.
При реализации ISupportsOverlaysWithFilter в дерево VisualElement для вашего EditorWindowавтоматически добавляется накладка Canvas. Используйте OverlayAttribute для указания этого типа окна в качестве действительного объекта для регистрации Overlay.
ISupportsOverlaysWithFilter.IsOverlaySupported можно указать, какая накладка разрешена в этом конкретном окне из накладок, зарегистрированных с OverlayAttribute.
Дополнительные ресурсы: ISupportsOverlays
using System; using UnityEditor; using UnityEditor.Overlays; using UnityEngine; using UnityEngine.UIElements; class EditorWindowOverlayExample : EditorWindow, ISupportsOverlays { [MenuItem("Window/Overlay Supported Window Example")] static void Init() => GetWindow<EditorWindowOverlayExample>(); void OnGUI() { GUILayout.Label("Here is some text"); GUILayout.FlexibleSpace(); GUILayout.Label("Plus some more text, but on the bottom of the screen."); } } [Overlay(typeof(EditorWindowOverlayExample), "Is Mouse Hovering Me?", true)] class IsMouseHoveringMe : Overlay { Label m_MouseLabel; public override VisualElement CreatePanelContent() { m_MouseLabel = new Label(); m_MouseLabel.style.minHeight = 40; m_MouseLabel.RegisterCallback<MouseEnterEvent>(evt => m_MouseLabel.text = "Mouse is hovering this Overlay content!"); m_MouseLabel.RegisterCallback<MouseLeaveEvent>(evt => m_MouseLabel.text = "Mouse is not hovering this Overlay content."); return m_MouseLabel; } }
Открытые методы
| Метод | Описание |
|---|---|
| IsOverlaySupported | Реализуйте эту функцию для фильтрации наложений, добавляемых в это окно. |