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

Pea*_*der 1 unity-game-engine unity3d-gui

我有一个继承的类MaskableGraphic.在函数中Awake(),我创建了一个gameObject.奇怪的是当停止Unity时,游戏对象不会被破坏.

public class Test : MaskableGraphic
{
    protected void Awake()
    {
        var go = new GameObject();
    }
}
Run Code Online (Sandbox Code Playgroud)

Gal*_*dil 5

看来,当继承自UI.Graphic(以及来自任何子类的ofc UI.Graphic)时,该[ExecuteInEditMode]属性默认在类上是活动的.

可以注意到,使用您的脚本,goUnity很快就会对编译后的脚本进行序列化,而且,如果在运行时删除了GO,它会在退出播放模式并返回时被Unity序列化.编辑模式:在编辑器中执行的脚本的典型行为,而不仅仅是在播放模式下.