为什么当 unity 停止 运行 时,在 MaskableGraphic 的子类中创建的 gameObject 不会被销毁?

Why the gameObject created in subclass of MaskableGraphic not be destroyed when unity stopped running?

我有一个 class 继承 MaskableGraphic。在函数 Awake() 中,我创建了一个游戏对象。奇怪的是当停止Unity时,GameObject并没有被销毁。

public class Test : MaskableGraphic
{
    protected void Awake()
    {
        var go = new GameObject();
    }
}

似乎,当从 UI.Graphic 继承时(以及从 UI.Graphic 的任何子 class 继承时),[ExecuteInEditMode] 属性在 class.

可以注意到,使用您的脚本,go 游戏对象会在 Unity 序列化编译后的脚本时立即创建,此外,如果在运行时删除此 GO,则会将其序列化回来在退出播放模式并返回编辑模式时由 Unity 执行:在编辑器中执行的脚本的典型行为,而不仅仅是在播放模式中。