继续完善CMaplist ,提供清空链表,查找元素,刷新元素的方法。
继续完善CMaplist ,提供清空链表,查找元素,刷新元素的方法。
1.对泛型T的约束
where T class,new()
2. 栈的使用
ResourceItem存储ab包,加载的资源对象,引用计数等。
将ResourceItem存储在双向链表,缓存引用计数为0的资源,由ResourceManager管理。
AssetDic缓存正在使用中的资源字典。
获得类型:
System.Type type = typeof(T)
资源同步加载:1.先从缓存获取;2.没有的话从编辑器或ab获取;3.如果从ab获取或从编辑器获取失败,调用AssetBundleManager.LoadResourceAssetBundle方法以获取ResourceItem。
ResourceManager从ResourceItem对象加载出资源后,需要重新缓存ResourceItem对象
ResourceManager释放zi y
测试资源从编辑器加载和从ab包加载
测试音频资源的卸载,分为回收和不回收两种情况。不回收的情况需要将obj对应的ab卸载,obj 可以不用置空。
异步加载分为3个优先级,用3个列表缓存。
数据类序列化为二进制,必须要加上序列化标记[System.Serializable]
报错“Type xxx is not marked as Serializable.”
普通资源异步加载的对象需要缓存,加载完成需要回调。
设计异步加载类和回调类。
资源加载方式:
①直接拖到组件上
②Resources.Load()
③AssesBundle
④AssetDataBase.LoadAt
重点:
//编辑器下查找指定资源
AssetDatabase.FindAssets()
//GUID转文件路径
AssetDatabase.GUIDToAssetPath()
//显示进度小弹窗
EditorUtility.DisplayProgressBar()
//清理进度小弹窗
EditorUtility.ClearProgressBar()
任务13:012-打包AB包1
for循环体最后一句加上break就可以了,
思路就是从高到低选择,选不到就跳到下一个级别,选中了处理完就终止这次循环,重新开始
反序列化,读取文件nei r
类转er jin z
讲解打包及使用的流程,这样做的意义。