Unity编辑器开发——EditorWindow

官方文档:EditorWindow - Unity 脚本 API

EditorWindow  继承自  ScriptableObject

一、变量

1.静态变量

变量名 官方解释 使用场景
focusWindow 当前已获得键盘焦点的 EditorWindow。(只读)
mouseOverWindow 当前在鼠标光标下的 EditorWindow。(只读)

2.变量

变量名 官方解释 使用场景
titleContent 用于绘制 EditorWindow 标题的 GUIContent。
position 窗口在屏幕空间中的理想位置。
maxSize 窗口最大值
minSize 窗口最小值
maximized 此窗口是否已最大化?
rootVisualElement 获取窗口层级视图的根视觉元素。
hasFocus 窗口是否被聚焦
autoRepaintOnSceneChange 窗口是否会在场景每次发生变化时自动重绘?
docked Returns true if EditorWindow is docked.
hasUnsavedChanges This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes.
saveChangesMessage The message that displays to the user if they are prompted to save
wantsLessLayoutEvents Specifies whether a layout pass is performed before all user events (for example, EventType.MouseDown or [[EventType, KeyDown]]), or is only performed before repaint events.
wantsMouseEnterLeaveWindow 检查是否已在此编辑器窗口的 GUI 中收到 MouseEnterWindow 和 MouseLeaveWindow 事件。
wantsMouseMove 检查是否已在此编辑器窗口的 GUI 中收到 MouseMove 事件。

二、方法

1.受保护的方法

变量名 官方解释 使用场景
OnBackingScaleFactorChanged Called when the UI scaling for this EditorWindow is changed.

2.静态方法

变量名 官方解释 使用场景
CreateWindow 创建类型为 T 的 EditorWindow。
FocusWindowIfItsOpen 聚焦发现的第一个指定类型的 EditorWindow(如果已打开)。
GetWindow 返回当前屏幕上第一个 t 类型的 EditorWindow。
GetWindowWithRect 返回当前屏幕上第一个 t 类型的 EditorWindow。
HasOpenInstances 检查编辑器窗口是否已打开。

3.方法

BeginWindows 标记所有弹出窗口的开始区域。
Close 关闭编辑器窗口。
DiscardChanges Discards unsaved changes to the contents of the window.
EndWindows 关闭由 EditorWindow.BeginWindows 开始的窗口组。
Focus 将键盘焦点移动到另一个 EditorWindow。
GetExtraPaneTypes 获取与窗口关联的额外窗格。
RemoveNotification 停止显示通知消息。
Repaint 重绘窗口。
SaveChanges Performs a save action on the contents of the window.
SendEvent 将事件发送到窗口。
Show 显示 EditorWindow 窗口。
ShowAsDropDown 显示包含下拉菜单和样式的窗口。
ShowAuxWindow 在辅助窗口中显示编辑器窗口。
ShowModal 显示模态编辑器窗口。
ShowModalUtility 将 EditorWindow 显示为浮动模态窗口。
ShowNotification 显示通知消息。
ShowPopup 使用弹出式框架显示编辑器窗口。
ShowUtility 将 EditorWindow 显示为浮动实用程序窗口。
TryGetOverlay Get an Overlay with matching ID from an EditorWindow canvas.

三、消息(生命周期)

Awake 在新窗口打开时调用。
CreateGUI CreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated.
hasUnsavedChanges This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes.
OnDestroy 调用 OnDestroy 以关闭 EditorWindow 窗口。
OnFocus 在窗口获得键盘焦点时调用。
OnGUI 在此处实现您自己的 Editor GUI。
OnHierarchyChange 处理程序,用于在层级视图中的对象或对象组发生更改时发送的消息。
OnInspectorUpdate OnInspectorUpdate 以每秒 10 帧的速度调用,以便检视面板有机会进行更新。
OnLostFocus 在窗口失去键盘焦点时调用。
OnProjectChange 处理程序,用于在项目状态发生更改时发送的消息。
OnSelectionChange 每当选择发生更改时调用。
saveChangesMessage The message that displays to the user if they are prompted to save
Update 在所有可见窗口上每秒调用多次。

猜你喜欢

转载自blog.csdn.net/qq_38074938/article/details/131619372