Undo.RegisterCreatedObjectUndo

切换到手册
public static void RegisterCreatedObjectUndo (Object objectToUndo, string name);

参数

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

描述

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

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

注意:对象销毁的方式与 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"); } }