UnityEditor.Undo 在运行时

UnityEditor.Undo in runtime

我想知道这样的 UnityEditor.Undo Destroy、AddComponent 功能是什么,即使在设备运行时它也能正常运行。

例如,以下代码在 PC 上的编辑器中运行良好。我想知道这是否与设备中的结果相同。

public void Click()
 {
     Undo.DestroyObjectImmediate(this.GetComponent<BoxCollider2D>());
 }

Undo class 来自 UnityEditor 命名空间。这意味着它不适用于任何设备或构建。它现在起作用的唯一原因是因为您在编辑器中 运行 它。

任何以 UnityEditor 开头的 Unity API 将 永远不会 在任何设备或构建上运行。它旨在允许程序员制作自定义编辑器插件,该插件在编辑器上运行

不过,您可以implement your own Undo class by using Stack