diff --git a/extensions/AssetsManager/AssetsManager.cpp b/extensions/AssetsManager/AssetsManager.cpp index faf2dc63f6..86eebbb519 100644 --- a/extensions/AssetsManager/AssetsManager.cpp +++ b/extensions/AssetsManager/AssetsManager.cpp @@ -52,7 +52,6 @@ AssetsManager::AssetsManager() , _versionFileUrl("") , _version("") , _curl(NULL) -, _delegate(NULL) { _storagePath = CCFileUtils::sharedFileUtils()->getWritablePath(); checkStoragePath(); @@ -62,7 +61,6 @@ AssetsManager::AssetsManager(const char* packageUrl, const char* versionFileUrl) : _packageUrl(packageUrl) , _version("") , _versionFileUrl(versionFileUrl) -, _delegate(NULL) , _curl(NULL) { _storagePath = CCFileUtils::sharedFileUtils()->getWritablePath(); @@ -74,7 +72,6 @@ AssetsManager::AssetsManager(const char* packageUrl, const char* versionFileUrl, , _version("") , _versionFileUrl(versionFileUrl) , _storagePath(storagePath) -, _delegate(NULL) , _curl(NULL) { checkStoragePath(); @@ -119,7 +116,7 @@ bool AssetsManager::checkUpdate() if (res != 0) { - CCLOG("can not get version file content"); + CCLOG("can not get version file content, error code is %d", res); curl_easy_cleanup(_curl); return false; } @@ -275,7 +272,7 @@ bool AssetsManager::uncompress() error = unzReadCurrentFile(zipfile, readBuffer, BUFFER_SIZE); if (error < 0) { - CCLOG("error when read zip file %s, error code is %d", fileName, error); + CCLOG("can not read zip file %s, error code is %d", fileName, error); unzCloseCurrentFile(zipfile); unzClose(zipfile); return false; @@ -304,6 +301,8 @@ bool AssetsManager::uncompress() } } + CCLOG("end uncompressing"); + return true; } @@ -349,7 +348,8 @@ static size_t downLoadPackage(void *ptr, size_t size, size_t nmemb, void *userda static int progressFunc(void *ptr, double totalToDownload, double nowDownloaded, double totalToUpLoad, double nowUpLoaded) { - cocos2d::CCLog("progress %d", int(nowDownloaded/totalToDownload)); + CCLOG("downloading... %d%%", (int)(nowDownloaded/totalToDownload*100)); + return 0; } @@ -380,6 +380,8 @@ bool AssetsManager::downLoad() return false; } + CCLOG("succeed downloading package %s", _packageUrl.c_str()); + fclose(fp); return true; } diff --git a/extensions/AssetsManager/AssetsManager.h b/extensions/AssetsManager/AssetsManager.h index cf4ebb3f27..c2ba1836fc 100644 --- a/extensions/AssetsManager/AssetsManager.h +++ b/extensions/AssetsManager/AssetsManager.h @@ -28,7 +28,7 @@ #include #include -class AssetsManagerDelegate; +#include "cocos2d.h" /* * This class is used to auto update resources, such as pictures or scripts. @@ -126,25 +126,7 @@ private: std::string _packageUrl; std::string _versionFileUrl; - AssetsManagerDelegate* _delegate; - CURL *_curl; }; -/* @brief This class is used as base class of the delegate of AssetsManager. - */ -class AssetsManagerDelegate -{ -public: - /* @brief When an error happens in updating resources, AssetsManager will invoke its delegate's onError(). - * - * @param errorCode The pointer to record error code. - * The value will be set by AssetsManager. - */ - virtual void onError(AssetsManager::ErrorCode* errorCode) = 0; - - virtual void onUpdate(float* percent) = 0; -}; - - #endif /* defined(__AssetsManager__) */ diff --git a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp index 58c4b66836..0c8a24b62e 100644 --- a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp +++ b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp @@ -117,6 +117,8 @@ void UpdateLayer::reset(cocos2d::CCObject *pSender) #endif // Delete recorded version codes. getAssetsManager()->deleteVersion(); + + createDownloadedDir(); } void UpdateLayer::enter(cocos2d::CCObject *pSender) @@ -139,23 +141,7 @@ bool UpdateLayer::init() { CCLayer::init(); - pathToSave = CCFileUtils::sharedFileUtils()->getWritablePath(); - pathToSave += "tmpdir"; - // Create the folder if it doesn't exist -#if (CC_TARGET_PLATFORM != CC_PLATFORM_WIN32) - DIR *pDir = NULL; - - pDir = opendir (pathToSave.c_str()); - if (! pDir) - { - mkdir(pathToSave.c_str(), S_IRWXU | S_IRWXG | S_IRWXO); - } -#else - if ((GetFileAttributesA(pathToSave.c_str())) == INVALID_FILE_ATTRIBUTES) - { - CreateDirectoryA(pathToSave.c_str(), 0); - } -#endif + createDownloadedDir(); CCSize size = CCDirector::sharedDirector()->getWinSize(); @@ -187,3 +173,25 @@ AssetsManager* UpdateLayer::getAssetsManager() return pAssetsManager; } + +void UpdateLayer::createDownloadedDir() +{ + pathToSave = CCFileUtils::sharedFileUtils()->getWritablePath(); + pathToSave += "tmpdir"; + + // Create the folder if it doesn't exist +#if (CC_TARGET_PLATFORM != CC_PLATFORM_WIN32) + DIR *pDir = NULL; + + pDir = opendir (pathToSave.c_str()); + if (! pDir) + { + mkdir(pathToSave.c_str(), S_IRWXU | S_IRWXG | S_IRWXO); + } +#else + if ((GetFileAttributesA(pathToSave.c_str())) == INVALID_FILE_ATTRIBUTES) + { + CreateDirectoryA(pathToSave.c_str(), 0); + } +#endif +} diff --git a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h index 37c6c19f82..aaa8d404cf 100644 --- a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h +++ b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h @@ -50,12 +50,14 @@ public: UpdateLayer(); ~UpdateLayer(); virtual bool init(); + void enter(cocos2d::CCObject *pSender); void reset(cocos2d::CCObject *pSender); void update(cocos2d::CCObject *pSender); private: AssetsManager* getAssetsManager(); + void createDownloadedDir(); cocos2d::CCMenuItemFont *pItemEnter; cocos2d::CCMenuItemFont *pItemReset;