从此类派生以创建编辑器向导。
编辑器向导通常使用菜单项打开。
// 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 | 允许您设置向导的 Create 按钮上显示的文本。 |
errorString | 允许您设置向导的错误文本。 |
helpString | 允许您设置向导的帮助文本。 |
isValid | 允许您启用向导 Create 按钮,或者将其禁用,从而使用户无法点击。 |
otherButtonName | 允许您设置向导的可选 Other 按钮上显示的文本。忽略此参数将不显示该按钮。 |
DrawWizardGUI | 当 ScriptableWizard 需要更新其 GUI 时,将调用此函数以绘制内容。 |
DisplayWizard | 创建一个向导。 |
OnWizardCreate | 当用户单击 Create 按钮时,将调用此函数。 |
OnWizardOtherButton | 允许您在用户单击 Others 按钮时提供操作。 |
OnWizardUpdate | 在向导打开或者用户在向导中更改内容时,将调用此函数。 |
focusedWindow | 当前已获得键盘焦点的 EditorWindow。(只读) |
mouseOverWindow | 当前在鼠标光标下的 EditorWindow。(只读) |
autoRepaintOnSceneChange | Enable this property to automatically repaint the window when the SceneView is modified. |
dataModeController | An instance of IDataModeController to handle DataMode functionalities for the current window. |
docked | Returns true if EditorWindow is docked. |
hasFocus | Returns true if EditorWindow is focused. |
hasUnsavedChanges | This property specifies whether the Editor prompts the user to save or discard unsaved changes before the window closes. |
maximized | Whether or not this window is maximized? |
maxSize | The maximum size of this window when it is floating or modal. The maximum size is not used when the window is docked. |
minSize | The minimum size of this window when it is floating or modal. The minimum size is not used when the window is docked. |
overlayCanvas | The OverlayCanvas for this window. |
position | 窗口在屏幕空间中的理想位置。 |
rootVisualElement | 获取窗口层级视图的根视觉元素。 |
saveChangesMessage | The message that displays to the user if they are prompted to save |
titleContent | 用于绘制 EditorWindow 标题的 GUIContent。 |
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 事件。 |
hideFlags | 该对象应该隐藏、随场景一起保存还是由用户修改? |
name | 对象的名称。 |
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 | Shows the EditorWindow as a floating modal window. |
ShowNotification | 显示通知消息。 |
ShowPopup | 使用弹出式框架显示编辑器窗口。 |
ShowTab | Shows a docked Editor window. |
ShowUtility | 将 EditorWindow 显示为浮动实用程序窗口。 |
TryGetOverlay | Get an Overlay with matching ID from an EditorWindow canvas. |
GetInstanceID | Gets the instance ID of the object. |
ToString | 返回对象的名称。 |
OnBackingScaleFactorChanged | Called when the UI scaling for this EditorWindow is changed. |
CreateWindow | 创建类型为 T 的 EditorWindow。 |
FocusWindowIfItsOpen | 聚焦发现的第一个指定类型的 EditorWindow(如果已打开)。 |
GetWindow | Returns the first EditorWindow of type windowType which is currently on the screen. |
GetWindowWithRect | 返回当前屏幕上第一个 t 类型的 EditorWindow。 |
HasOpenInstances | 检查编辑器窗口是否已打开。 |
Destroy | 移除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 |
FindAnyObjectByType | Retrieves any active loaded object of Type type. |
FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
Instantiate | 克隆 original 对象并返回克隆对象。 |
CreateInstance | 创建脚本化对象的实例。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |
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. |
OnBecameInvisible | Called after the window is removed from a container view, or is no longer visible within a tabbed collection of EditorWindow. |
OnBecameVisible | Called after the window is added to a container view. |
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 | 在所有可见窗口上每秒调用多次。 |
Awake | 当 ScriptableObject 脚本启动时调用此函数。 |
OnDestroy | 当脚本化对象将销毁时调用此函数。 |
OnDisable | 当脚本化对象超出范围时调用此函数。 |
OnEnable | 当对象加载时调用此函数。 |
OnValidate | Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector. |
Reset | 重置为默认值。 |
windowFocusChanged | Called whenever the focused editor window is changed. |