GameFramework篇:StarForce资源加载细节讲解(一:资源加载辅助器)

前前后后看了一星期,才有了这篇博文,再次感叹,心急吃不了热豆腐

在看这篇博文之前,建议先去了解一下AssetbundleStreamingAssetWWWWebRequest这几个东西以及他们的用法。这是必须的,不然你会不知道我在说些什么。。。

之前博文已经介绍了一些基本的模块,流程,热更新,AB包,在执行这些功能的时候,总是不可避免的谈到资源的加载,于是我就在这里讲一下

先来到ProcedureSplash流程

然后我们知道ProcedureCheckVersion流程里有资源初始化,初始化好之后再进入ProcedurePreload流程,那就说明如果当前资源模式为编辑器模式,一定是做了特殊处理,不然不可能逃脱资源初始化这一步骤。

我们先不管资源初始化,先全局搜索EditorResourceMode,看它都影响着什么

然后我们就在ResoureComponent里面发现了这句,这句的意思是,如果当前是编辑器模式加载资源,那么加载资源就用EditorResourceHelper这个辅助器,否则就用默认的资源加载辅助器(可更改)

那么EditorResourceHelper是个啥呢

GameFramework篇:StarForce资源加载细节讲解(一:资源加载辅助器)_第1张图片

GameFramework篇:StarForce资源加载细节讲解(一:资源加载辅助器)_第2张图片

我们看到,注意这个东西很重要,记住,它包含了将要被加载资源所有内容,文件名(完整路径),加载方式,优先级等

GameFramework篇:StarForce资源加载细节讲解(一:资源加载辅助器)_第3张图片

他将在Unity的Update生命周期函数被轮询,作用就是将加载好的资源通过LoadAssetSuccessCallback这类回调函数传回(Update函数只截取了部分,请大家自行查找并阅读)

GameFramework篇:StarForce资源加载细节讲解(一:资源加载辅助器)_第4张图片

好,我们再回到这里,看看他在非编辑器模式下设置的资源管理者是啥,加一句Debug

这个就是非编辑器模式下的辅助器了

总结一下这篇博客:

在预加载流程,判断是否为编辑器模式,从而使用不同的资源加载器,不同的资源加载器就有自己不同的资源加载方式

你可能感兴趣的:(Unity相关,GameFramework)