Undo.RegisterCreatedObjectUndo

Switch to Manual
public static void RegisterCreatedObjectUndo (Object objectToUndo, string name);

Parameters

objectToUndo 已创建的对象。
name 要撤销的操作的名称。例如主菜单中的“Undo ....”。

Description

针对新创建的对象注册撤销操作。

执行撤销操作后,对象会被销毁。应该使用这一函数来注册处于可撤销状态的所有新创建的对象。

注意:对象销毁的方式与 Object.Destroy 相同(延迟除外)。这意味着,游戏对象将和它们的所有子游戏对象一起被销毁。

// Creates a new game object as an operation that can be undone

using UnityEditor; using UnityEngine;

class CreateGameObjectMenu { [MenuItem ("Example/Create GameObject")] static void CreateGameObject () { // Create GameObject hierarchy. GameObject go = new GameObject ("my GameObject"); GameObject child = new GameObject(); go.transform.position = new Vector3 (5, 5, 5); child.transform.parent = go.transform;

// Register root object for undo. Undo.RegisterCreatedObjectUndo (go, "Create object"); } }