版本: Unity 6 (6000.0)
语言英语
  • C#

ScriptableWizard

UnityEditor 中的类

/

继承自:EditorWindow

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

从这个类派生以创建编辑器向导。

编辑器向导通常使用菜单项打开。

// 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 时自动重绘窗口。
dataModeControllerIDataModeController 的一个实例,用于处理当前窗口的数据模式功能。
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每当更改获得焦点的编辑器窗口时调用。