Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

Undo

класс в UnityEditor

Описание

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

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

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

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

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

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

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

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

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

Уничтожение GameObject или компонента:
Undo.DestroyObjectImmediate (myGameObject);

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

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

Свойство Описание
isProcessingВозвращает true, если редактор в настоящее время обрабатывает операции отмены или повтора, false в противном случае.
postprocessModificationsОбратный вызов, который запускается при создании нового набора изменений свойств.
undoRedoEventОбратный вызов, который запускается после любого события отмены или повтора.
undoRedoPerformedОбратный вызов, который запускается после выполнения операции отмены или повтора.
willFlushUndoRecordВызывается перед тем, как система Undo выполняет сброс.

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

Метод Описание
AddComponentДобавление компонента в GameObject и регистрация операции отмены для этого действия.
ClearAllУдаляет все операции отмены и повтора со стеков отмены и повтора.
ClearUndoУдаляет все операции отмены для объекта идентификатора, зарегистрированного с помощью Undo.RegisterCompleteObjectUndo из стека отмены.
CollapseUndoOperationsСжимает все операции отмены до индекса группы вместе в одном шаге.
DestroyObjectImmediateУничтожает объект и записывает операцию отмены, чтобы его можно было воссоздать.
FlushUndoRecordObjectsУбедитесь, что объекты, записанные с помощью RecordObject или RecordObjects, зарегистрированы как отменяемые действия. В большинстве случаев нет причины вызывать FlushUndoRecordObjects, поскольку это автоматически делается сразу после указания мыши и некоторых других событий, которые обычно обозначают окончание действия.
GetCurrentGroupUnity автоматически группирует операции отмены по текущему индексу группы.
GetCurrentGroupNameПолучить имя, которое будет показано в UI для текущей группы отмены.
IncrementCurrentGroupUnity автоматически группирует операции отмены по текущему индексу группы.
MoveGameObjectToSceneПереместить GameObject из текущего Scene в новый Scene. Необходимо, чтобы GameObject находился в корне текущего Scene.
PerformRedoВыполнить операцию Повторения.
PerformUndoВыполнение операции Отмена.
RecordObjectЗаписывает любые изменения, произведенные в объекте после функции RecordObject.
RecordObjectsЗапись нескольких отменяемых объектов в одном вызове. Это то же самое, что вызов Undo.RecordObject несколько раз.
RegisterChildrenOrderUndoХранит копию порядка дочерей объекта в стеке отмены.
RegisterCompleteObjectUndoХранит копию состояний объекта в стеке отмены.
RegisterCreatedObjectUndoРегистрирует операцию отмены для отмены создания объекта.
RegisterFullObjectHierarchyUndoКопирование состояний иерархии объектов в стек отмены действий.
RegisterImporterUndoКопирует состояние импортёра для заданного пути ассета.
RevertAllDownToGroupВыполняет все операции отмены до индекса группы без сохранения операции повтора в процессе.
RevertAllInCurrentGroupВыполняет последнюю операцию отмены, но не записывает операцию повтора.
SetCurrentGroupNameЗадайте имя текущей группы отмены.
SetSiblingIndexУстанавливает индекс сестры преобразования и регистрирует операцию отмены.
SetTransformParentУстанавливает родитель преобразования на новый родитель и записывает операцию отмены.

Делегаты

делегат Описание
PostprocessModificationsПредставитель, используемый для postprocessModifications.
UndoRedoCallbackПредставитель, используемый для undoRedoPerformed.
UndoRedoEventCallbackПредставитель, используемый для undoRedoEvent.
WillFlushUndoRecordПредставитель, используемый для willFlushUndoRecord.