Derive from this class to create an editor wizard.
Note: This is an editor class. To use it you have to place your script in Assets/Editor inside your project folder. Editor classes are in the UnityEditor namespace so for C# scripts you need to add "using UnityEditor;" at the beginning of the script.
Editor wizards are typically opened using a menu item.
// C#
// Creates a simple wizard that lets you create a Ligth 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");
go.AddComponent("Light");
go.light.range = range;
go.light.color = color;
}
void OnWizardUpdate () {
helpString = "Please set the color of the light!";
}
// When the user pressed the "Apply" button OnWizardOtherButton is called.
void OnWizardOtherButton () {
if (Selection.activeTransform == null ||
Selection.activeTransform.light == null) return;
Selection.activeTransform.light.color = Color.red;
}
}
helpString |
Allows you to set the help text of the wizard. |
errorString |
Allows you to set the error text of the wizard. |
isValid |
Allows you to enable and disable the wizard create button, so that the user can not click it. |
OnWizardUpdate |
This is called when the wizard is opened or whenever the user changes something in the wizard. |
OnWizardCreate |
This is called when the user clicks on the Create button. |
OnDrawGizmos |
Called every frame when the wizard is visible. |
OnWizardOtherButton |
Allows you to provide an action when the user clicks on the other button. |
DisplayWizard |
Creates a wizard. |
wantsMouseMove |
Does the GUI in this editor window want MouseMove events? |
autoRepaintOnSceneChange |
Does the window automatically repaint whenever the scene has changed? |
minSize |
the minimum size of this window |
maxSize |
the maximum size of this window |
title |
The title of this window |
position |
The position of the window in screen space. |
name |
The name of the object. |
hideFlags |
Should the object be hidden, saved with the scene or modifiable by the user? |
BeginWindows |
Mark the beginning area of all popup windows. |
EndWindows |
Close a window group started with EditorWindow.BeginWindows |
ShowNotification |
Show a notification message. |
RemoveNotification |
Stop showing notification message. |
ShowTab |
|
Focus |
Moves keyboard focus to this EditorWindow. |
ShowUtility |
Show the EditorWindow as a floating utility window. |
ShowPopup |
Used for popup style windows. |
ShowAsDropDown |
Show window with dropdown behaviour (e.g. window is closed when it loses focus) and having |
Show |
Show the EditorWindow. |
ShowAuxWindow |
Show the editor window in the auxiliary window. |
Close |
Close the editor window. |
Repaint |
Make the window repaint. |
SendEvent |
Sends an Event to a window. |
GetInstanceID |
Returns the instance id of the object. |
ToString |
Returns the name of the game object. |
OnGUI |
Implement your own editor GUI here. |
Update |
Called 100 times per second on all visible windows. |
OnInspectorUpdate |
OnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update |
OnDestroy |
OnDestroy is called when the EditorWindow is closed. |
OnSelectionChange |
Called whenever the selection has changed. |
OnFocus |
Called when the window gets keyboard focus. |
OnLostFocus |
Called when the window loses keyboard focus. |
OnHierarchyChange |
Called whenever the scene hierarchy has changed. |
OnProjectChange |
Called whenever the project has changed. |
OnEnable |
This function is called when the object is loaded |
OnDisable |
This function is called when the scriptable object goes out of scope |
OnDestroy |
This function is called when the scriptable object will be destroyed. |
focusedWindow |
The EditorWindow which currently has keyboard focus (Read Only) |
mouseOverWindow |
The EditorWindow currently under the mouse cursor (Read Only) |
GetWindow |
Returns the first EditorWindow of type t which is currently on the screen. |
FocusWindowIfItsOpen |
Focuses the first found EditorWindow of specified type if it is open. |
GetWindowWithRect |
Returns the first EditorWindow of type t which is currently on the screen. |
CreateInstance |
Creates an instance of a scriptable object with className. |
operator bool |
Does the object exist? |
Instantiate |
Clones the object original and returns the clone. |
Destroy |
Removes a gameobject, component or asset. |
DestroyImmediate |
Destroys the object obj immediately. It is strongly recommended to use Destroy instead. |
FindObjectsOfType |
Returns a list of all active loaded objects of Type type. |
FindObjectOfType |
Returns the first active loaded object of Type type. |
operator == |
Compares if two objects refer to the same |
operator != |
Compares if two objects refer to a different object |
DontDestroyOnLoad |
Makes the object target not be destroyed automatically when loading a new scene. |