前言
框架的资源管理系统主要是为了统一管理资源的addressable加载和resources资源加载的。
构成
可以看下目录结构
主要就是addressable和resources两部分
什么时候用那种加载,会在项目的设置文件里面进行设置,这个后面记录。先记录下这两种加载的内部实现。
ResSystem_Addressable
普通class对象的相关api
GetOrNew:获取实例,有多个重载,都是依赖之前的对象池系统
PushObjectInPool:卸载普通对象,然后放进对象池,也有多个重载
InitObjectPool:初始化对象池,多个重载
游戏物体的相关api
GetOrNew:获取实例,有多个重载,都是依赖之前的对象池系统
PushObjectInPool:卸载普通对象,然后放进对象池,也有多个重载
InitObjectPool:初始化对象池,多个重载
InstantiateGameObject:加载游戏物体,用的是Addressables.InstantiateAsync,Addressables的异步加载,同样,它也有多个重载。
AutomaticReleaseAssetAction:自动释放资源,用到的是Addressables.ReleaseInstance,
游戏的asset
LoadAsset:加载资源,用的是Addressables.LoadAssetAsync,有多个重载。
LoadAssetAsync:在协程里异步加载,其实还是用的Addressables.LoadAssetAsync,有多个重载。
UnloadAsset:释放资源,用的是Addressables.Release。
UnloadInstance摧毁游戏物体,并释放资源,用的是Addressables.ReleaseInstance。
ResSystem_Resources
跟ResSystem_Addressable结构基本差不多,只不过是加载的方式变了,变成了resources加载方式,用的是Resources.Load。