Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Undo

класс в UnityEditor

Описание

Позволяет регистрировать операции отмены для определенных объектов, в которых вы собираетесь внести изменения.

Система отмены сохраняет дельта-изменения в стеке отмены.

Операции отмены автоматически объединяются вместе на основе событий, например. события нажатия мыши будут разделять группы отмены. Появятся сгруппированные операции отмены, которые будут работать как одна отмена. Для управления группировкой вручную используйте Undo.IncrementCurrentGroup.

По умолчанию имя, отображаемое в пользовательском интерфейсе, будет выбрано из действий, принадлежащих группе, с использованием жестко заданного порядка различных видов действий. Чтобы задать имя вручную, используйте Undo.SetCurrentGroupName.

Операции отмены сохраняются либо для каждого свойства, либо для каждого состояния объекта. Таким образом, они хорошо масштабируются при любом размере сцены.

Наиболее важные операции описаны ниже:

Изменение одного свойства:
Undo.RecordObject(myGameObject.transform, "Zero Transform Position");
myGameObject.transform.position = Vector3.zero;

Добавление компонента:
Undo.AddComponent(myGameObject);

Создание нового игрового объекта:
var go = new GameObject();
Undo.RegisterCreatedObjectUndo (go, "Created go");

Уничтожение игрового объекта или компонента:
Undo.DestroyObjectImmediate (myGameObject);

Изменение родительского элемента преобразования:
Undo.SetTransformParent(myGameObject.transform, newTransformParent, "Set new parent");

Статические Свойства

postprocessModifications Обратный вызов, который запускается всякий раз, когда создается новый набор модификаций свойства.
undoRedoPerformed Обратный вызов, который запускается после выполнения отмены или повтора.
willFlushUndoRecord Вызывается до того, как система отмены выполнит сброс.

Статические Методы

AddComponent Добавляет компонент к игровому объекту и регистрирует операцию отмены для этого действия.
ClearAll Удаляет все операции отмены и повтора соответственно из стеков отмены и повтора.
ClearUndo Удаляет все операции отмены для объекта идентификатора, зарегистрированного с помощью Undo.RegisterCompleteObjectUndo, из стека отмены.
CollapseUndoOperations Сворачивает все операции отмены до группового индекса в один шаг.
DestroyObjectImmediate Уничтожает объект и записывает операцию отмены, чтобы его можно было воссоздать.
FlushUndoRecordObjects Убедитесь, что объекты, записанные с помощью RecordObject или ::ref:RecordObjects, зарегистрированы как действие, которое нельзя отменить. В большинстве случаев нет причин вызывать FlushUndoRecordObjects, так как это автоматически выполняется сразу после нажатия кнопки мыши и некоторых других событий, которые обычно отмечают конец действия.
GetCurrentGroup Unity автоматически группирует операции отмены по текущему групповому индексу.
GetCurrentGroupName Получить имя, которое будет отображаться в пользовательском интерфейсе для текущей группы отмены.
IncrementCurrentGroup Unity автоматически группирует операции отмены по текущему групповому индексу.
MoveGameObjectToScene Переместить игровой объект из текущей сцены в новую сцену. Требуется, чтобы GameObject находился в корне текущей сцены.
PerformRedo Выполнить операцию повтора.
PerformUndo Выполнить операцию отмены.
RecordObject Записывает любые изменения, внесенные в объект после функции RecordObject.
RecordObjects Записывает несколько объектов, которые нельзя выполнить, за один вызов. Это то же самое, что многократно вызывать Undo.RecordObject.
RegisterCompleteObjectUndo Сохраняет копию состояний объекта в стеке отмены.
RegisterCreatedObjectUndo Зарегистрируйте операцию отмены для вновь созданного объекта.
RegisterFullObjectHierarchyUndo Копировать состояния иерархии объектов в стек отмены.
RegisterImporterUndo Копирует состояние импортера для заданного пути ресурса.
RevertAllDownToGroup Выполняет все операции отмены до группового индекса без сохранения операции повтора в процессе.
RevertAllInCurrentGroup Выполняет последнюю операцию отмены, но не записывает операцию повтора.
SetCurrentGroupName Установите имя текущей группы отмены.
SetTransformParent Устанавливает родителя преобразования в новый родитель и записывает операцию отмены.

Делегаты

PostprocessModifications Делегаты, используемые для postprocessModifications.
UndoRedoCallback Делегат, используемый для undoRedoPerformed.
WillFlushUndoRecord Делегат, используемый для willFlushUndoRecord.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3