varfailCount=0;
varmaxFailCount=1;
*/
varAssetsManagerLoaderScene=cc.Scene.extend({
_am:null,
_progress:null,
_percent:0,
run:function(){
if
(!cc.sys.isNative){
this
.loadGame();
return
;
}
varlayer=
new
cc.Layer();
.addChild(layer);
._progress=
cc.LabelTTF.create(
"update0%"
"Arial"
._progress.x=cc.winSize.width/2;
._progress.y=cc.winSize.height/2+50;
layer.addChild(
._progress);
varstoragePath=(jsb.fileUtils?jsb.fileUtils.getWritablePath():
"./"
);
cc.
log
(
"storagePathis"
+storagePath);
._am=
jsb.AssetsManager(
"res/project.manifest"
._am.retain();
(!
._am.getLocalManifest().isLoaded())
{
"Failtoupdateassets,stepskipped."
);
.loadGame();
}
else
{
varthat=
;
cc.EventListenerAssetsManager
varlistener=
jsb.EventListenerAssetsManager(
._am,function(event){
switch
(event.getEventCode()){
case
jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST:
"Nolocalmanifestfilefound,skipassetsupdate."
);
that.loadGame();
break
;
jsb.EventAssetsManager.UPDATE_PROGRESSION:
that._percent=event.getPercent();
(that._percent+
"%"
);
varmsg=event.getMessage();
(msg){
(msg);
}
;
jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST:
jsb.EventAssetsManager.ERROR_PARSE_MANIFEST:
"Failtodownloadmanifestfile,updateskipped."
);
that.loadGame();
;
jsb.EventAssetsManager.ALREADY_UP_TO_DATE:
"ALREADY_UP_TO_DATE."
);
that.loadGame();
;
jsb.EventAssetsManager.UPDATE_FINISHED:
"Updatefinished."
);
that.loadGame();
;
jsb.EventAssetsManager.UPDATE_FAILED:
"Updatefailed."
+event.getMessage());
failCount++;
(failCount<maxFailCount)
{
that._am.downloadFailedAssets();
}
else
{
"Reachmaximumfailcount,exitupdateprocess"
);
failCount=0;
that.loadGame();
}
;
jsb.EventAssetsManager.ERROR_UPDATING:
"Assetupdateerror:"
+event.getAssetId()+
","
+event.getMessage());
that.loadGame();
;
jsb.EventAssetsManager.ERROR_DECOMPRESS:
(event.getMessage());
that.loadGame();
;
default
:
;
}
});
cc.eventManager.addListener(listener,1);
._am.update();
cc.director.runScene(
);
}
.schedule(
.updateProgress,0.5);
loadGame:function(){
cc.loader.loadJs([
"src/jsList.js"
],function(){
cc.loader.loadJs(jsList,function(){
HelloWorldScene());
});
});
updateProgress:function(dt){
._progress.string=
"update"
+
._percent+
;
onExit:function(){
"AssetsManager::onExit"
);
._am.release();
._super();
}
});
|