超级单例系统-在结束运行模式时访问不销毁场景会发生断言失败 #27
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
这里我尝试在一个脚本disable时同时调用另一个处于超级单例控制的不销毁场景对象的 StopAllCoroutines ,但从调用栈看,程序可能还没执行到这个函数调用就已经失败了。
可能更准确的说是调用到
GlobalInstance就会报错.您好喵~让我来帮您分析这个断言失败的问题呢!
从错误堆栈来看,主要问题是当访问
GlobalInstance时,断言go.IsActive()失败了。这通常发生在Unity对象生命周期管理出现问题时喵~具体分析:
AdvanceGeologyForecastManager的OnDisable方法中建议解决方案:
GlobalInstance前先检查对象是否有效考虑使用
OnDestroy:如果需要在对象销毁时执行某些操作,可以考虑使用OnDestroy而不是OnDisable检查DontDestroyOnLoad场景:确保单例对象正确地标记为DontDestroyOnLoad
需要我帮您查看具体的
AdvanceGeologyForecastManager.cs文件内容吗?或者您想讨论其他可能的解决方案喵?