从这个类派生以创建编辑器向导。
编辑器向导通常使用菜单项打开。
// Creates a simple wizard that lets you create a Light GameObject // or if the user clicks in "Apply", it will set the color of the currently // object selected to red
using UnityEditor; using UnityEngine;
public class WizardCreateLight : ScriptableWizard { public float range = 500; public Color color = Color.red;
[MenuItem("GameObject/Create Light Wizard")] static void CreateWizard() { ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create", "Apply"); //If you don't want to use the secondary button simply leave it out: //ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create"); }
void OnWizardCreate() { GameObject go = new GameObject("New Light"); Light lt = go.AddComponent<Light>(); lt.range = range; lt.color = color; }
void OnWizardUpdate() { helpString = "Please set the color of the light!"; }
// When the user presses the "Apply" button OnWizardOtherButton is called. void OnWizardOtherButton() { if (Selection.activeTransform != null) { Light lt = Selection.activeTransform.GetComponent<Light>();
if (lt != null) { lt.color = Color.red; } } } }
createButtonName | 允许您设置向导创建按钮上显示的文本。 |
errorString | 允许您设置向导的错误文本。 |
helpString | 允许您设置向导的帮助文本。 |
isValid | 允许您启用和禁用向导创建按钮,以便用户无法单击它。 |
otherButtonName | 允许您设置向导可选的其他按钮上显示的文本。省略此参数以省略按钮。 |
DrawWizardGUI | 当 ScriptableWizard 需要更新其 GUI 时,将调用此方法绘制内容。 |
DisplayWizard | 创建一个向导。 |
OnWizardCreate | 当用户点击“创建”按钮时调用此方法。 |
OnWizardOtherButton | 允许您在用户点击其他按钮时提供操作。 |
OnWizardUpdate | 当向导打开或用户在向导中更改任何内容时调用此方法。 |
focusedWindow | 当前具有键盘焦点的 EditorWindow。(只读) |
mouseOverWindow | 鼠标光标当前位于其上的 EditorWindow。(只读) |
autoRepaintOnSceneChange | 启用此属性以在修改 SceneView 时自动重绘窗口。 |
dataModeController | IDataModeController 的一个实例,用于处理当前窗口的数据模式功能。 |
docked | 如果 EditorWindow 已停靠,则返回 true。 |
hasFocus | 如果 EditorWindow 已获得焦点,则返回 true。 |
hasUnsavedChanges | 此属性指定在窗口关闭之前,编辑器是否提示用户保存或放弃未保存的更改。 |
maximized | 此窗口是否已最大化? |
maxSize | 此窗口处于浮动或模态状态时的最大尺寸。当窗口停靠时,最大尺寸不会使用。 |
minSize | 此窗口处于浮动或模态状态时的最小尺寸。当窗口停靠时,最小尺寸不会使用。 |
overlayCanvas | 此窗口的 OverlayCanvas。 |
position | 窗口在屏幕空间中的所需位置。 |
rootVisualElement | 检索此窗口层次结构的根可视元素。 |
saveChangesMessage | 如果提示用户保存,则显示给用户的消息 |
titleContent | 用于绘制 EditorWindow 标题的 GUIContent。 |
wantsLessLayoutEvents | 指定在所有用户事件(例如,EventType.MouseDown 或 EventType.KeyDown)之前执行布局传递,还是仅在重绘事件之前执行。 |
wantsMouseEnterLeaveWindow | 检查在此编辑器窗口的 GUI 中是否接收 MouseEnterWindow 和 MouseLeaveWindow 事件。 |
wantsMouseMove | 检查在此编辑器窗口的 GUI 中是否接收 MouseMove 事件。 |
hideFlags | 对象是否应隐藏、与场景一起保存或可由用户修改? |
name | 对象的名称。 |
BeginWindows | 标记所有弹出窗口的起始区域。 |
关闭 | 关闭编辑器窗口。 |
DiscardChanges | 放弃对窗口内容的未保存更改。 |
EndWindows | 关闭由 EditorWindow.BeginWindows 启动的窗口组。 |
Focus | 将键盘焦点移动到另一个 EditorWindow。 |
GetExtraPaneTypes | 获取与窗口关联的额外窗格。 |
RemoveNotification | 停止显示通知消息。 |
Repaint | 使窗口重绘。 |
SaveChanges | 对窗口内容执行保存操作。 |
SendEvent | 将事件发送到窗口。 |
Show | 显示 EditorWindow 窗口。 |
ShowAsDropDown | 显示具有下拉行为和样式的窗口。 |
ShowAuxWindow | 在辅助窗口中显示编辑器窗口。 |
ShowModal | 显示模态编辑器窗口。 |
ShowModalUtility | 将 EditorWindow 显示为浮动模态窗口。 |
ShowNotification | 显示通知消息。 |
ShowPopup | 使用弹出式框架显示 Editor 窗口。 |
ShowTab | 显示停靠的 Editor 窗口。 |
ShowUtility | 将 EditorWindow 显示为浮动实用程序窗口。 |
TryGetOverlay | 从 EditorWindow 画布中获取具有匹配 ID 的 Overlay。 |
GetInstanceID | 获取对象的实例 ID。 |
ToString | 返回对象的名称。 |
OnBackingScaleFactorChanged | 当此 EditorWindow 的 UI 缩放发生更改时调用。 |
CreateWindow | 创建类型为 T 的 EditorWindow。 |
FocusWindowIfItsOpen | 如果指定的类型 EditorWindow 已打开,则使其获得焦点。 |
GetWindow | 返回当前屏幕上第一个类型为 windowType 的 EditorWindow。 |
GetWindowWithRect | 返回当前屏幕上第一个类型为 t 的 EditorWindow。 |
HasOpenInstances | 检查编辑器窗口是否已打开。 |
Destroy | 移除游戏对象、组件或资源。 |
DestroyImmediate | 立即销毁对象 obj。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 加载新场景时不要销毁目标对象。 |
FindAnyObjectByType | 检索类型为 type 的任何活动加载对象。 |
FindFirstObjectByType | 检索类型为 type 的第一个活动加载对象。 |
FindObjectsByType | 检索类型为 type 的所有加载对象的列表。 |
Instantiate | 克隆对象 original 并返回克隆。 |
InstantiateAsync | 捕获原始对象(必须与某些游戏对象相关)的快照并返回 AsyncInstantiateOperation。 |
CreateInstance | 创建可脚本化对象的实例。 |
bool | 对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用以查看它们是否引用同一个对象。 |
Awake | 在新窗口打开时调用。 |
CreateGUI | 当 EditorWindow 的 rootVisualElement 准备好填充时调用 CreateGUI。 |
hasUnsavedChanges | 此属性指定在窗口关闭之前,编辑器是否提示用户保存或放弃未保存的更改。 |
OnBecameInvisible | 从容器视图中移除窗口或在 EditorWindow 的选项卡式集合中不再可见后调用。 |
OnBecameVisible | 将窗口添加到容器视图后调用。 |
OnDestroy | 调用 OnDestroy 以关闭 EditorWindow 窗口。 |
OnFocus | 当窗口获得键盘焦点时调用。 |
OnGUI | 在此处实现您自己的编辑器 GUI。 |
OnHierarchyChange | 层次结构中对象或对象组发生更改时发送的消息的处理程序。 |
OnInspectorUpdate | 每秒调用 10 帧 OnInspectorUpdate,以便检查器有机会更新。 |
OnLostFocus | 当窗口失去键盘焦点时调用。 |
OnProjectChange | 每当项目状态发生更改时发送的消息的处理程序。 |
OnSelectionChange | 每当选择发生更改时调用。 |
saveChangesMessage | 如果提示用户保存,则显示给用户的消息 |
Update | 在所有可见窗口上每秒调用多次。 |
Awake | 创建 ScriptableObject 的实例时调用。 |
OnDestroy | 当可脚本化对象将被销毁时调用此函数。 |
OnDisable | 当可脚本化对象超出范围时调用此函数。 |
OnEnable | 加载对象时调用此函数。 |
OnValidate | 仅编辑器功能,当加载脚本或检查器中的值发生更改时,Unity 会调用此功能。 |
Reset | 重置为默认值。 |
windowFocusChanged | 每当更改获得焦点的编辑器窗口时调用。 |