源码相关文件路径:
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\cocos-ext.h
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\AssetsManager\AssetsManager.h
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\AssetsManager\AssetsManager.cpp
引用方法:
#include "cocos-ext.h"
#include "AssetsManager.h"
using namespace cocos2d::extension;
Additional Include Directories:
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\AssetsManager
Additional Library Directories:
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\Debug.win32
Additinal Dependencies:
libcurl_imp.lib
libExtensions.lib
该AssetsManager的基本流程:
1. 配置需要更新的zip的URL,更新版本号的URL,更新存放的相对路径
2. 从Server获取该zip文件的版本号
3. 对比Client中的UserDefault.xml中current-version-code键的值(当前版本号)是否过期
4. 若Server的版本比Client的新,则通过http请求下载该zip
5. 解压缩该zip文件
6. 下载后通过CCFileUtils的fullPathForFilename方法来获取文件的引用
下载流程:
update():
1. 配置的zip的URL和version的URL必须合法,且非空
2. 检验Server是否存在新版本
3. 读取UserDefault.xml的downloaded-version-code,对比当前版本号,若不相等则进行zip包下载
4. 若下载完成,记录最新的版本号于UserDefault.xml的downloaded-version-code中,并flush刷新
5. 解压缩zip包
6. 若解压成功,记录最新的版本号于UserDefault.xml的current-version-code中,并把downloaded-version-code删除,并flush刷新
7. 设置搜索路径,(先获取搜索路径vector,然后将新的搜索路径插入到该vector中,将该vector重新放入CCFileUtils中)
8. 删除未加载的cocos2dx-update-temp-package.zip文件