我正在为 Unity 编辑器编写自己的自动保存脚本,我希望它在启动编辑器时运行其设置方法。我尝试使用 InitializeOnLoad,但它不仅在编辑器启动时调用静态构造函数,而且在每次按下播放按钮时调用静态构造函数,再次初始化我的脚本并重置其所有计时器。
我试图设置一个条件来初始化脚本,只有当定时器的值设置为默认值时,但显然 InitializeOnLoad 创建了我的脚本的另一个实例,所以一切都被重置并且条件是无用的。
然后我想在启动时在编辑器首选项中创建一个 bool 来检查,当我按下播放时,脚本是否已经启动过。但是当编辑器关闭时我找不到重置这个值的方法,所以当我再次启动编辑器时,布尔值仍然为真并且自动保存没有开始。
我还尝试使用 ExecuteInEditMode 来调用 OnDestroy 方法并将编辑器首选项设置为 false,但当然它仅在场景中的 GameObject 附加了脚本实例时才有效,而编辑器脚本并非如此。
有解决方案吗?提前致谢。