Описание
Используйте этот класс для реализации пользовательских инструментов редактора. Это базовый класс, от которого унаследованы все инструменты редактора.
Используйте этот класс с EditorToolAttribute для регистрации пользовательских инструментов редактора в редакторе.
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;
}
}
}
Свойства
target |
Инспектируемый объект. |
targets |
Массив проверяемых объектов. |
toolbarIcon |
Значок и подсказка для этого пользовательского редактора. Если эта функция не реализована, на панели инструментов отображается значок инспектора для целевого типа. Если тип цели не определен, на панели инструментов отображается значок режима инструмента. |
Публичные Методы
IsAvailable |
Проверяет, доступен ли пользовательский инструмент редактора, в зависимости от состояния редактора. |
OnActivated |
Вызывается после того, как этот EditorTool станет активным инструментом. |
OnToolGUI |
Используйте этот метод для реализации пользовательского редактора. |
OnWillBeDeactivated |
Вызывается до того, как этот EditorTool перестанет быть активным инструментом. |
Унаследованные члены
Свойства
hideFlags |
Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name |
Название объекта. |
Публичные Методы
Статические Методы
Операторы
bool |
Объект существует? |
operator != |
Сравнивает, ссылаются ли два объекта на другой объект. |
operator == |
Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |
Сообщения
Awake |
Эта функция вызывается при запуске сценария ScriptableObject. |
OnDestroy |
Эта функция вызывается, когда объект сценария будет уничтожен. |
OnDisable |
Эта функция вызывается, когда объект сценария выходит за пределы области видимости. |
OnEnable |
Эта функция вызывается при загрузке объекта. |
OnValidate |
Функция только для редактора, которую Unity вызывает при загрузке скрипта или изменении значения в Инспекторе. |
Reset |
Сбросить значения по умолчанию. |