Version: 5.6

EditorWindow

class in UnityEditor

切换到手册

描述

从此类派生以创建编辑器窗口。

创建自己的自定义编辑器窗口,这些窗口可以自由浮动,也可以作为选项卡停靠,就像 Unity 界面中的原生窗口一样。

通常使用菜单项打开编辑器窗口。

using UnityEngine;
using UnityEditor;
public class MyWindow : EditorWindow
{
    string myString = "Hello World";
    bool groupEnabled;
    bool myBool = true;
    float myFloat = 1.23f;

// Add menu named "My Window" to the Window menu [MenuItem("Window/My Window")] static void Init() { // Get existing open window or if none, make a new one: MyWindow window = (MyWindow)EditorWindow.GetWindow(typeof(MyWindow)); window.Show(); }

void OnGUI() { GUILayout.Label("Base Settings", EditorStyles.boldLabel); myString = EditorGUILayout.TextField("Text Field", myString);

groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Settings", groupEnabled); myBool = EditorGUILayout.Toggle("Toggle", myBool); myFloat = EditorGUILayout.Slider("Slider", myFloat, -3, 3); EditorGUILayout.EndToggleGroup(); } }

静态变量

focusedWindow当前已获得键盘焦点的 EditorWindow。(只读)
mouseOverWindow当前在鼠标光标下的 EditorWindow。(只读)

变量

autoRepaintOnSceneChange窗口是否会在场景每次发生变化时自动重绘?
maximizedIs this window maximized.
maxSize此窗口的最大大小。
minSize此窗口的最小大小。
positionThe position of the window in screen space.
titleContent用于绘制 EditorWindow 标题的 GUIContent。
wantsMouseEnterLeaveWindow检查是否已在此编辑器窗口的 GUI 中收到 MouseEnterWindow 和 MouseLeaveWindow 事件。
wantsMouseMove检查是否已在此编辑器窗口的 GUI 中收到 MouseMove 事件。

公共函数

BeginWindows标记所有弹出窗口的开始区域。
Close关闭编辑器窗口。
EndWindows关闭由 EditorWindow.BeginWindows 开始的窗口组。
FocusMoves keyboard focus to this EditorWindow.
RemoveNotification停止显示通知消息。
Repaint重绘窗口。
SendEvent将事件发送到窗口。
ShowShow the EditorWindow.
ShowAsDropDown显示包含下拉菜单和样式的窗口。
ShowAuxWindow在辅助窗口中显示编辑器窗口。
ShowNotification显示通知消息。
ShowPopup使用弹出式框架显示编辑器窗口。
ShowUtility将 EditorWindow 显示为浮动实用程序窗口。

静态函数

FocusWindowIfItsOpen聚焦发现的第一个指定类型的 EditorWindow(如果已打开)。
GetWindow返回当前屏幕上第一个 t 类型的 EditorWindow。
GetWindowWithRect返回当前屏幕上第一个 t 类型的 EditorWindow。

消息

Awake在新窗口打开时调用。
OnDestroyOnDestroy is called when the EditorWindow is closed.
OnFocus在窗口获得键盘焦点时调用。
OnGUI在此处实现您自己的 Editor GUI。
OnHierarchyChangeCalled whenever the scene hierarchy has changed.
OnInspectorUpdateOnInspectorUpdate 以每秒 10 帧的速度调用,以便检视面板有机会进行更新。
OnLostFocus在窗口失去键盘焦点时调用。
OnProjectChangeCalled whenever the project has changed.
OnSelectionChange每当选择发生更改时调用。
Update在所有可见窗口上每秒调用多次。