问题
打开了一个Unity项目,发现不管打开哪一个场景都有一个prefab直接出现,而根本找不到这个prefab生成的代码写在哪里。
调研后发现使用了编辑器下的回调:
PostProcessSceneAttribute
此类位于UnityEditor.Callbacks命名空间。
将此属性添加到一个方法上,可以在building Scene之后进行回调。当进入Playmode, SceneManager.LoadScene被调用的时候也会调用一次这个回调函数。
所以就会表现出,无论在编辑器下点开哪个场景,都会执行一次添加了此属性的方法。
PostProcessSceneAttribute 可以被添加到多个方法上,如果希望它们按照特定顺序执行,可以向此属性添加一个参数,默认从0开始。回调函数将按照此参数的顺序执行。