Version: 2023.1
言語: 日本語

Undo

class in UnityEditor

マニュアルに切り替える

説明

特定のオブジェクトに対する変更点を Undo クラスによってもとに戻すことができます。

Undo システムは最後に行われた変更を Undo スタックに保存します。

Undo operations automatically combine together based on events. For example, mouse down events split undo groups. Grouped undo operations appear and work as a single undo. To control grouping manually, use Undo.IncrementCurrentGroup.

By default, the name shown in the UI is selected from the actions from the group using a hardcoded ordering of the different kinds of actions. To manually set the name, use Undo.SetCurrentGroupName.

Undo operations store either per property or per object state. They scale well with any Scene size.

The most important operations are outlined below:

Modify a single property:
Undo.RecordObject (myGameObject.transform, "Zero Transform Position");
myGameObject.transform.position = Vector3.zero;

Add a component:
Undo.AddComponent<Rigidbody>(myGameObject);

Create a new GameObject:
var go = new GameObject();
Undo.RegisterCreatedObjectUndo (go, "Created go");

Destroy a GameObject or component:
Undo.DestroyObjectImmediate (myGameObject);

Change transform parenting:
Undo.SetTransformParent (myGameObject.transform, newTransformParent, "Set new parent");

Static 変数

isProcessingReturns true if the editor is currently processing undo or redo operations, false otherwise.
postprocessModificationsCallback that is triggered whenever a new set of property modifications is created.
undoRedoEventCallback that is triggered after any undo or redo event.
undoRedoPerformedCallback that is triggered after an undo or a redo was executed.
willFlushUndoRecordUndo システムがフラッシュを行う前に実行されます。

Static 関数

AddComponentゲームオブジェクトにコンポーネントをアタッチし、その操作の Undo を登録します。
ClearAllRemoves all undo and redo operations from respectively the undo and redo stacks.
ClearUndoUndo.RegisterCompleteObjectUndo を使って登録した identifier オブジェクトへの Undo 操作をすべて、Undo スタックから削除します。
CollapseUndoOperationsすべての Undo 操作を 1 つのステップにまとめます。
DestroyObjectImmediateオブジェクトを破棄し、Undo 操作によって復元できるように記録します。
FlushUndoRecordObjectsEnsure objects recorded using RecordObject or RecordObjects are registered as an undoable action. In most cases there is no reason to invoke FlushUndoRecordObjects since it's automatically done right after mouse-up and certain other events that conventionally marks the end of an action.
GetCurrentGroupUnity が自動的に Undo 操作をグループ化したもので現在のグループインデックスを取得します
GetCurrentGroupName現在の Undo グループの UI に表示される名前を取得します。
IncrementCurrentGroupUnity が自動的に Undo 操作をグループ化したもので現在のグループインデックスを取得します
MoveGameObjectToSceneMove a GameObject from its current Scene to a new Scene. It is required that the GameObject is at the root of its current Scene.
PerformRedoRedo 操作を行います。
PerformUndoUndo 操作を行います。
RecordObjectRecordObject が呼び出された後の変更点を記録します
RecordObjects1 回の呼び出しで複数の Undo 可能なオブジェクトを記録します。これは複数回 Undo.RecordObject を呼び出すのと同じです。
RegisterChildrenOrderUndoStores a copy of the order of the object's children on the undo stack.
RegisterCompleteObjectUndoUndo スタック上のオブジェクトの状態の複製を保存します。
RegisterCreatedObjectUndoRegisters an undo operation to undo the creation of an object.
RegisterFullObjectHierarchyUndoオブジェクトのヒエラルキーの状態を Undo スタック上にコピーします。
RegisterImporterUndoCopies the state of the importer for the given asset path.
RevertAllDownToGroup処理中の Redo 操作を保存せずに、グループインデックスまでのすべての Undo 操作を行います。
RevertAllInCurrentGroupUndo 操作は実行されますが Redo 操作は行うことはできません
SetCurrentGroupName現在の Undo グループに名前をつける。
SetSiblingIndexSets the sibling index of transform and records an undo operation.
SetTransformParent新しく Transform の親を設定し Undo 操作を記録します

デリゲート

PostprocessModificationsDelegate used for postprocessModifications.
UndoRedoCallback undoRedoPerformed に使用されるデリゲート
UndoRedoEventCallbackDelegate used for undoRedoEvent.
WillFlushUndoRecord willFlushUndoRecord に使用されるデリゲート