EditorTool
class in UnityEditor.EditorTools
/
Inherits from:ScriptableObject
/
Implemented in:UnityEditor
Description 描述
Use this class to implement custom editor tools. This is the base class from which all tools are inherited.
Use with EditorToolAttribute to register new tools with the editor.
using System; using UnityEngine; using UnityEditor; using UnityEditor.EditorTools;
// Tagging a class with the EditorTool attribute and no target type registers a global tool. Global tools are valid for any selection, and are accessible through the top left toolbar in the editor. [EditorTool("Platform Tool")] class PlatformTool : EditorTool { // Serialize this value to set a default value in the Inspector. [SerializeField] Texture2D m_ToolIcon;
GUIContent m_IconContent;
void OnEnable() { m_IconContent = new GUIContent() { image = m_ToolIcon, text = "Platform Tool", tooltip = "Platform Tool" }; }
public override GUIContent toolbarIcon { get { return m_IconContent; } }
// This is called for each window that your tool is active in. Put the functionality of your tool here. public override void OnToolGUI(EditorWindow window) { EditorGUI.BeginChangeCheck();
Vector3 position = Tools.handlePosition;
using (new Handles.DrawingScope(Color.green)) { position = Handles.Slider(position, Vector3.right); }
if (EditorGUI.EndChangeCheck()) { Vector3 delta = position - Tools.handlePosition;
Undo.RecordObjects(Selection.transforms, "Move Platform");
foreach (var transform in Selection.transforms) transform.position += delta; } } }
Properties 属性
| target | The object being inspected. | ||
| targets | An array of the objects being inspected. | ||
| toolbarIcon | Contains the icon and tooltip for this tool. If this function is not implemented, the toolbar displays the Inspector icon for the target type. If no target type is defined, the toolbar displays the Tool Mode icon. |
Public Methods 公共方法
| IsAvailable | Disables the tool based on the current selection. | ||
| OnToolGUI | Implement the functionality of your tool in this method. |
Inherited Members 继承成员
Properties 属性
| hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? | ||
| name | The name of the object. |
Public Methods 公共方法
| GetInstanceID | Returns the instance id of the object. | ||
| ToString | Returns the name of the object. |
Static Methods 静态方法
| Destroy | Removes a GameObject, component or asset. | ||
| DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. | ||
| DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. | ||
| FindObjectOfType | Returns the first active loaded object of Type type. | ||
| FindObjectsOfType | Returns a list of all active loaded objects of Type type. | ||
| Instantiate | Clones the object original and returns the clone. | ||
| CreateInstance | Creates an instance of a scriptable object. |
Operators 运算符
| bool | Does the object exist? | ||
| operator != | Compares if two objects refer to a different object. | ||
| operator == | Compares two object references to see if they refer to the same object. |
Messages 消息
| Awake | This function is called when the ScriptableObject script is started. | ||
| OnDestroy | This function is called when the scriptable object will be destroyed. | ||
| OnDisable | This function is called when the scriptable object goes out of scope. | ||
| OnEnable | This function is called when the object is loaded. |