Параметры
objectToUndo | Объект, изменения состояния которого необходимо отменить. |
name | Имя операции отмены. |
Описание
Сохраняет копию состояний объекта в стеке отмены.
Если выполняется отмена, любые изменения, внесенные в объект после вызова этой функции, будут отменены, и объект будет восстановлен в записанном состоянии.
Преобразование, изменение родительского объекта, добавление компонента и уничтожение объекта не могут быть восстановлены с помощью этой функции, для этого следует использовать специальные функции. См. разделы Undo.SetTransformParent, Undo.AddComponent, Undo.DestroyObjectImmediate. .
Если объект является частью текущей Сцены (например, игровой объект в Иерархии или компонент, прикрепленный к такому игровому объекту), вызов этой функции немедленно пометит Сцену как измененную, даже если вы фактически не меняете состояния объекта впоследствии.
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".
}
}
Объявление
public static void RegisterCompleteObjectUndo(Object[] objectsToUndo, string name);Параметры
objectsToUndo | Массив объектов, изменения состояния которых необходимо отменить. |
name | Имя операции отмены. |
Описание
Это эквивалентно многократному вызову первой перегрузки, за исключением того факта, что для этой операции будет сгенерирована только одна операция отмены.