Undo.RegisterCompleteObjectUndo
Declaration
public static void RegisterCompleteObjectUndo(Object objectToUndo, string name);Параметры
| Параметр | Описание |
|---|---|
| objectToUndo | Объект, изменения состояния которого нужно отменить. |
| имя | Имя операции отмены. |
Описание
Хранит копию состояний объекта в стеке отмены.
Если выполнить отмену, любые изменения, сделанные в объекте после вызова этой функции, будут отменены, и объект будет восстановлен в записанное состояние.
Transform родительское изменение, AddComponent, и уничтожение объекта не может быть восстановлено с помощью этой функции, для этого следует использовать выделенные функции. См. Undo.SetTransformParent, Undo.AddComponent, Undo.DestroyObjectImmediate.
Если объект является частью текущего Scene (e.g. GameObject в Hierarchy или компонент, прикрепленный к такому игровому объекту), вызов этой функции немедленно пометит Scene как измененный, даже если вы фактически не измените состояния объекта после этого.
using UnityEngine; using UnityEditor;
public class UndoExamples { [MenuItem("Undo Examples/RegisterCompleteObjectUndo")] static void Example() { GameObject player = new GameObject("Player");
// Store the states of the player object. Undo.RegisterCompleteObjectUndo(player, "Player name change");
player.name = "New Player";
// If you choose "Edit->Undo Player name change" from the main menu now, the name of the object will be restored to "Player". } }
Declaration
public static void RegisterCompleteObjectUndo(Object[] objectsToUndo, string name);Параметры
| Параметр | Описание |
|---|---|
| objectsToUndo | Массив объектов, изменения состояния которых нужно отменить. |
| имя | Имя операции отмены. |
Описание
Это эквивалентно многократному вызову первой перегрузки, за исключением того, что для этой операции будет создана только одна операция отмены.