michael811125 / OxGFrame

The OxGFrame is a framework based on Unity for accelerating game development. Supports multi-platform Win, OSX, Android, iOS, WebGL.
MIT License
170 stars 26 forks source link

如果加载资源不存在就会无限循环,直到编辑器奔溃 #6

Closed yingnierxiao closed 1 year ago

yingnierxiao commented 1 year ago

OxGFrame.AssetLoader.Cacher.CacheBundle:LoadAsset (string,string,OxGFrame.AssetLoader.Progression) (at ./Library/PackageCache/com.michaelo.oxgframe@2388b052cf/AssetLoader/Scripts/Runtime/Cacher/CacheBundle.cs:957) 希望有机制超过一定时间不存在就直接返回错误

michael811125 commented 1 year ago

OxGFrame.AssetLoader.Cacher.CacheBundle:LoadAsset (string,string,OxGFrame.AssetLoader.Progression) (at ./Library/PackageCache/com.michaelo.oxgframe@2388b052cf/AssetLoader/Scripts/Runtime/Cacher/CacheBundle.cs:957)

希望有机制超过一定时间不存在就直接返回错误

好的,那我在加入 retry count。

michael811125 commented 1 year ago

已在 v2.7.8 加入 retry counter 机制了,也可在加载调用 API 时,带入最大尝试次数 (预设 = 3)。

这边建议也将 LoggingSystem 升级至 0.0.2-preivew,有针对 LoggingLauncher 新增 runtime reload setting 功能,运行时可以随时开关日志。

michael811125 commented 1 year ago

后续检测一下发现 retry counter 有一些判定上的瑕疵,与包括错误卸载类型问题,已有在 v2.7.9 修正了。

yingnierxiao commented 1 year ago

YooAsset.YooAssets.CheckLocationValid 可以用这个接口判断资源是否存在,不过在大量实例化的时候,有些资源即使存在AssetLoaders.InstantiateAssetAsync返回的也是null,这个我暂时没去找原因

michael811125 commented 1 year ago

好的,我会排查一下。