starling-framework
Version:
A fast, productive library for 2D cross-platform development.
826 lines (810 loc) • 28.6 kB
JavaScript
// Class: starling.assets.AssetManager
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../../hxClasses_stub").default;
var $hxEnums = require("./../../hxEnums_stub").default;
var $import = require("./../../import_stub").default;
var $bind = require("./../../bind_stub").default;
var $extend = require("./../../extend_stub").default;
function starling_events_EventDispatcher() {return require("./../../starling/events/EventDispatcher");}
function haxe_ds_StringMap() {return require("./../../haxe/ds/StringMap");}
function openfl_net_URLRequest() {return $import(require("openfl/net/URLRequest"));}
function openfl_Lib() {return $import(require("openfl/Lib"));}
function Std() {return require("./../../Std");}
function Type() {return require("./../../Type");}
function starling_assets_AssetReference() {return require("./../../starling/assets/AssetReference");}
function openfl__$Vector_Vector_$Impl_$() {return require("./../../openfl/_Vector/Vector_Impl_");}
function openfl_VectorData() {return $import(require("openfl/Vector"));}
function starling_utils_MathUtil() {return require("./../../starling/utils/MathUtil");}
function haxe_Timer() {return require("./../../haxe/Timer");}
function starling_utils_Execute() {return require("./../../starling/utils/Execute");}
function starling_assets_AssetPostProcessor() {return require("./../../starling/assets/AssetPostProcessor");}
function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");}
function starling_assets_AssetFactoryHelper() {return require("./../../starling/assets/AssetFactoryHelper");}
function starling_core_Starling() {return require("./../../starling/core/Starling");}
function js_Boot() {return require("./../../js/Boot");}
function starling_assets_AssetType() {return require("./../../starling/assets/AssetType");}
function starling_textures_TextureAtlas() {return require("./../../starling/textures/TextureAtlas");}
function starling_textures_Texture() {return require("./../../starling/textures/Texture");}
function openfl__$Vector_VectorIterator() {return require("./../../openfl/_Vector/VectorIterator");}
function openfl_media_Sound() {return $import(require("openfl/media/Sound"));}
function Xml() {return require("./../../Xml");}
function openfl_utils_ByteArray() {return $import(require("openfl/utils/ByteArray"));}
function starling_text_BitmapFont() {return require("./../../starling/text/BitmapFont");}
function StringTools() {return require("./../../StringTools");}
function Reflect() {return require("./../../Reflect");}
function haxe_Log() {return require("./../../haxe/Log");}
function EReg() {return require("./../../EReg");}
function starling_textures_TextureOptions() {return require("./../../starling/textures/TextureOptions");}
function starling_assets_DataLoader() {return require("./../../starling/assets/DataLoader");}
function starling_assets_BitmapTextureFactory() {return require("./../../starling/assets/BitmapTextureFactory");}
function starling_assets_AtfTextureFactory() {return require("./../../starling/assets/AtfTextureFactory");}
function starling_assets_SoundFactory() {return require("./../../starling/assets/SoundFactory");}
function starling_assets_JsonFactory() {return require("./../../starling/assets/JsonFactory");}
function starling_assets_XmlFactory() {return require("./../../starling/assets/XmlFactory");}
function starling_assets_ByteArrayFactory() {return require("./../../starling/assets/ByteArrayFactory");}
// Constructor
var AssetManager = function(scaleFactor) {
if(scaleFactor == null) {
scaleFactor = 1;
}
(starling_events_EventDispatcher().default).call(this);
this._assets = new (haxe_ds_StringMap().default)();
this._verbose = true;
this._textureOptions = new (starling_textures_TextureOptions().default)(scaleFactor);
this._queue = (openfl__$Vector_Vector_$Impl_$().default)._new();
this._numConnections = 3;
this._dataLoader = new (starling_assets_DataLoader().default)();
this._assetFactories = (openfl__$Vector_Vector_$Impl_$().default)._new();
this.registerFactory(new (starling_assets_BitmapTextureFactory().default)());
this.registerFactory(new (starling_assets_AtfTextureFactory().default)());
this.registerFactory(new (starling_assets_SoundFactory().default)());
this.registerFactory(new (starling_assets_JsonFactory().default)());
this.registerFactory(new (starling_assets_XmlFactory().default)());
this.registerFactory(new (starling_assets_ByteArrayFactory().default)(),-100);
}
// Meta
AssetManager.__name__ = "starling.assets.AssetManager";
AssetManager.__isInterface__ = false;
AssetManager.__super__ = (starling_events_EventDispatcher().default);
AssetManager.prototype = $extend((starling_events_EventDispatcher().default).prototype, {
dispose: function() {
this.purgeQueue();
var store = this._assets.iterator();
while(store.hasNext()) {
var store1 = store.next();
var asset = store1.iterator();
while(asset.hasNext()) {
var asset1 = asset.next();
this.disposeAsset(asset1);
}
}
},
purge: function() {
this.log("Purging all assets, emptying queue");
this.purgeQueue();
this.dispose();
this._assets = new (haxe_ds_StringMap().default)();
},
enqueue: function(assets) {
var _g = 0;
while(_g < assets.length) {
var asset = assets[_g];
++_g;
if(asset == null) {
continue;
} else if(((asset) instanceof Array)) {
this.enqueue(asset);
} else if(typeof(asset) == "string" || ((asset) instanceof (openfl_net_URLRequest().default)) || ((asset) instanceof AssetManager)) {
this.enqueueSingle(asset);
} else {
this.log("Ignoring unsupported asset type: " + (openfl_Lib().default).getQualifiedClassName(asset));
}
}
},
enqueueSingle: function(asset,name,options) {
if((Std().default).is(asset,$hxClasses["Class"])) {
asset = (Type().default).createInstance(asset,[]);
}
var assetReference = new (starling_assets_AssetReference().default)(asset);
if(name != null) {
assetReference.set_name(name);
} else {
var nameFromUrl = this.getNameFromUrl(assetReference.get_url());
if(nameFromUrl != null) {
assetReference.set_name(nameFromUrl);
} else {
assetReference.set_name(this.getUniqueName());
}
}
assetReference.set_extension(this.getExtensionFromUrl(assetReference.get_url()));
if(options != null) {
assetReference.set_textureOptions(options);
} else {
assetReference.set_textureOptions(this._textureOptions);
}
var logName = this.getFilenameFromUrl(assetReference.get_url());
if(logName == null) {
logName = assetReference.get_name();
}
(openfl__$Vector_Vector_$Impl_$().default).push(this._queue,assetReference);
this.log("Enqueuing '" + logName + "'");
return assetReference.get_name();
},
dequeue: function(assetNames) {
var this1 = this._queue;
this._queue = (openfl_VectorData().default).ofArray((Array.prototype.filter.call)(this1,function(asset) {
var tmp = asset.get_name();
return assetNames.indexOf(tmp) == -1;
}));
},
purgeQueue: function() {
this._queue.length = 0;
this._dataLoader.close();
this.dispatchEventWith("cancel");
},
loadQueue: function(onComplete,onError,onProgress) {
var _gthis = this;
var self = this;
var canceled = false;
var this1 = this._queue;
var a = null;
var queue = a == null ? (openfl_VectorData().default).ofArray((Array.prototype.concat.call)(this1)) : (openfl_VectorData().default).ofArray((Array.prototype.concat.call)(this1,a));
var numAssets = queue.length;
var numComplete = 0;
var numConnections = (Std().default).int((starling_utils_MathUtil().default).min(this._numConnections,numAssets));
var assetProgress = (openfl__$Vector_Vector_$Impl_$().default)._new();
var postProcessors = (openfl__$Vector_Vector_$Impl_$().default)._new();
var factoryHelper = null;
var loadNextAsset = null;
var onAssetLoaded = null;
var onAssetLoadError = null;
var onAssetProgress = null;
var addPostProcessor = null;
var runPostProcessors = null;
var onCanceled = null;
var finish = null;
loadNextAsset = function() {
if(canceled) {
return;
}
var j = 0;
while(j < numAssets) {
if(assetProgress[j] < 0) {
_gthis.loadFromQueue(queue,assetProgress,j,factoryHelper,onAssetLoaded,onAssetProgress,onAssetLoadError,onError);
break;
}
++j;
}
};
onAssetLoaded = function(name,asset) {
var type = null;
if(canceled && asset != null) {
_gthis.disposeAsset(asset);
} else {
if(name != null && asset != null) {
_gthis.addAsset(name,asset,type);
}
numComplete += 1;
if(numComplete == numAssets) {
(Array.prototype.sort.call)(postProcessors,$bind(_gthis,_gthis.compareAssetPostProcessorsPriorities));
(haxe_Timer().default).delay(runPostProcessors,1);
} else {
(haxe_Timer().default).delay(loadNextAsset,1);
}
}
};
onAssetLoadError = function(error) {
if(!canceled) {
(starling_utils_Execute().default).execute(onError,[error]);
onAssetLoaded();
}
};
onAssetProgress = function(ratio) {
if(!canceled) {
(starling_utils_Execute().default).execute(onProgress,[ratio * 0.95]);
}
};
addPostProcessor = function(processorFunc,priority) {
(openfl__$Vector_Vector_$Impl_$().default).push(postProcessors,new (starling_assets_AssetPostProcessor().default)(processorFunc,priority));
};
runPostProcessors = function() {
if(!canceled) {
if(postProcessors.length > 0) {
try {
(openfl__$Vector_Vector_$Impl_$().default).shift(postProcessors).execute(self);
} catch( e ) {
(starling_utils_Execute().default).execute(onError,[(((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e).message]);
}
(haxe_Timer().default).delay(runPostProcessors,1);
} else {
finish();
}
}
};
onCanceled = function() {
canceled = true;
_gthis.removeEventListener("cancel",onCanceled);
};
finish = function() {
onCanceled();
(starling_utils_Execute().default).execute(onProgress,[1.0]);
(starling_utils_Execute().default).execute(onComplete,[self]);
};
if(this._queue.length == 0) {
finish();
return;
}
this.addEventListener("cancel",onCanceled);
factoryHelper = new (starling_assets_AssetFactoryHelper().default)();
factoryHelper.set_getNameFromUrlFunc($bind(this,this.getNameFromUrl));
factoryHelper.set_getExtensionFromUrlFunc($bind(this,this.getExtensionFromUrl));
factoryHelper.set_addPostProcessorFunc(addPostProcessor);
factoryHelper.set_addAssetFunc($bind(this,this.addAsset));
factoryHelper.set_onRestoreFunc($bind(this,this.onAssetRestored));
factoryHelper.set_dataLoader(this._dataLoader);
factoryHelper.set_logFunc($bind(this,this.log));
this._starling = (starling_core_Starling().default).get_current();
this._queue.length = 0;
var _g = 0;
var _g1 = numAssets;
while(_g < _g1) {
var i = _g++;
(openfl__$Vector_Vector_$Impl_$().default).set(assetProgress,i,-1);
}
var _g2 = 0;
var _g3 = numConnections;
while(_g2 < _g3) {
var i1 = _g2++;
loadNextAsset();
}
},
loadFromQueue: function(queue,progressRatios,index,helper,onComplete,onProgress,onError,onIntermediateError) {
var _gthis = this;
var referenceCount = queue.length;
var reference = queue[index];
(openfl__$Vector_Vector_$Impl_$().default).set(progressRatios,index,0);
var onLoadComplete = null;
var onLoadProgress = null;
var onLoadError = null;
var onFactoryError = null;
var onAnyError = null;
var onManagerComplete = null;
onLoadComplete = function(data,mimeType,name,extension) {
if(_gthis._starling != null) {
_gthis._starling.makeCurrent();
}
onLoadProgress(1.0);
if(data != null) {
reference.set_data(data);
}
if(name != null) {
reference.set_name(name);
}
if(extension != null) {
reference.set_extension(extension);
}
if(mimeType != null) {
reference.set_mimeType(mimeType);
}
var assetFactory = _gthis.getFactoryFor(reference);
if(assetFactory == null) {
var onLoadComplete1 = "Warning: no suitable factory found for '" + reference.get_name() + "'";
(starling_utils_Execute().default).execute(onAnyError,[onLoadComplete1]);
} else {
assetFactory.create(reference,helper,onComplete,onFactoryError);
}
};
onLoadProgress = function(ratio) {
(openfl__$Vector_Vector_$Impl_$().default).set(progressRatios,index,ratio);
var totalRatio = 0;
var multiplier = 1.0 / referenceCount;
var _g = 0;
var _g1 = referenceCount;
while(_g < _g1) {
var k = _g++;
var r = progressRatios[k];
if(r > 0) {
totalRatio += multiplier * r;
}
}
var onLoadProgress1 = (starling_utils_MathUtil().default).min(totalRatio,1.0);
(starling_utils_Execute().default).execute(onProgress,[onLoadProgress1]);
};
onLoadError = function(error) {
onLoadProgress(1.0);
var onLoadError1 = "Error loading " + reference.get_name() + ": " + error;
(starling_utils_Execute().default).execute(onAnyError,[onLoadError1]);
};
onAnyError = function(error1) {
_gthis.log(error1);
(starling_utils_Execute().default).execute(onError,[error1,reference]);
};
onFactoryError = function(error2) {
var onFactoryError1 = "Error creating " + reference.get_name() + ": " + error2;
(starling_utils_Execute().default).execute(onAnyError,[onFactoryError1]);
};
onManagerComplete = function() {
var onManagerComplete1 = reference.get_name();
var onManagerComplete2 = reference.get_data();
onComplete(onManagerComplete1,onManagerComplete2);
};
if(reference.get_url() != null) {
this._dataLoader.load(reference.get_url(),onLoadComplete,onLoadError,onLoadProgress);
} else if(((reference.get_data()) instanceof AssetManager)) {
((js_Boot().default).__cast(reference.get_data() , AssetManager)).loadQueue(onManagerComplete,onIntermediateError,onLoadProgress);
} else {
(haxe_Timer().default).delay(function() {
var tmp = reference.get_data();
onLoadComplete(tmp);
},1);
}
},
getFactoryFor: function(asset) {
var numFactories = this._assetFactories.length;
var _g = 0;
var _g1 = numFactories;
while(_g < _g1) {
var i = _g++;
var factory = this._assetFactories[i];
if(factory.canHandle(asset)) {
return factory;
}
}
return null;
},
onAssetRestored: function(finished) {
if(finished) {
this._numRestoredTextures++;
if(this._starling != null) {
this._starling.get_stage().setRequiresRedraw();
}
if(this._numRestoredTextures == this._numLostTextures) {
this.dispatchEventWith("texturesRestored");
}
} else {
this._numLostTextures++;
}
},
addAsset: function(name,asset,type) {
if(type == null) {
type = (starling_assets_AssetType().default).fromAsset(asset);
}
var store = this._assets.get(type);
if(store == null) {
store = new (haxe_ds_StringMap().default)();
this._assets.set(type,store);
}
this.log("Adding " + type + " '" + name + "'");
var prevAsset = store.get(name);
if(prevAsset != null && prevAsset != asset) {
this.log("Warning: name was already in use; disposing the previous " + type);
this.disposeAsset(prevAsset);
}
var v = asset;
store.set(name,v);
},
getAsset: function(type,name,recursive) {
if(recursive == null) {
recursive = true;
}
if(recursive) {
var managerStore = this._assets.get((starling_assets_AssetType().default).ASSET_MANAGER);
if(managerStore != null) {
var manager = managerStore.iterator();
while(manager.hasNext()) {
var manager1 = manager.next();
manager1 = (js_Boot().default).__cast(manager1 , AssetManager);
var asset = manager1.getAsset(type,name,true);
if(asset != null) {
return asset;
}
}
}
if(type == (starling_assets_AssetType().default).TEXTURE) {
var atlasStore = this._assets.get((starling_assets_AssetType().default).TEXTURE_ATLAS);
if(atlasStore != null) {
var atlas = atlasStore.iterator();
while(atlas.hasNext()) {
var atlas1 = atlas.next();
atlas1 = (js_Boot().default).__cast(atlas1 , (starling_textures_TextureAtlas().default));
var texture = atlas1.getTexture(name);
if(texture != null) {
return texture;
}
}
}
}
}
var store = this._assets.get(type);
if(store != null) {
return store.get(name);
} else {
return null;
}
},
getAssetNames: function(assetType,prefix,recursive,out) {
if(recursive == null) {
recursive = true;
}
if(prefix == null) {
prefix = "";
}
if(out == null) {
out = (openfl__$Vector_Vector_$Impl_$().default)._new();
}
if(recursive) {
var managerStore = this._assets.get((starling_assets_AssetType().default).ASSET_MANAGER);
if(managerStore != null) {
var manager = managerStore.iterator();
while(manager.hasNext()) {
var manager1 = manager.next();
manager1 = (js_Boot().default).__cast(manager1 , AssetManager);
manager1.getAssetNames(assetType,prefix,true,out);
}
}
if(assetType == (starling_assets_AssetType().default).TEXTURE) {
var atlasStore = this._assets.get((starling_assets_AssetType().default).TEXTURE_ATLAS);
if(atlasStore != null) {
var atlas = atlasStore.iterator();
while(atlas.hasNext()) {
var atlas1 = atlas.next();
atlas1 = (js_Boot().default).__cast(atlas1 , (starling_textures_TextureAtlas().default));
atlas1.getNames(prefix,out);
}
}
}
}
this.getDictionaryKeys(this._assets.get(assetType),prefix,out);
(Array.prototype.sort.call)(out,$bind(this,this.compareString));
return out;
},
removeAsset: function(assetType,name,dispose) {
if(dispose == null) {
dispose = true;
}
var store = this._assets.get(assetType);
if(store != null) {
var asset = store.get(name);
if(asset != null) {
this.log("Removing " + assetType + " '" + name + "'");
if(dispose) {
this.disposeAsset(asset);
}
store.remove(name);
}
}
},
getTexture: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).TEXTURE,name);
if(((asset) instanceof (starling_textures_Texture().default))) {
return asset;
} else {
return null;
}
},
getTextures: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
if(out == null) {
out = (openfl__$Vector_Vector_$Impl_$().default)._new();
}
var name = new (openfl__$Vector_VectorIterator().default)(this.getTextureNames(prefix,AssetManager.sNames));
while(name.hasNext()) {
var name1 = name.next();
(openfl__$Vector_Vector_$Impl_$().default).set(out,out.length,this.getTexture(name1));
}
AssetManager.sNames.length = 0;
return out;
},
getTextureNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).TEXTURE,prefix,true,out);
},
getTextureAtlas: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).TEXTURE_ATLAS,name);
if(((asset) instanceof (starling_textures_TextureAtlas().default))) {
return asset;
} else {
return null;
}
},
getTextureAtlasNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).TEXTURE_ATLAS,prefix,true,out);
},
getSound: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).SOUND,name);
if(((asset) instanceof (openfl_media_Sound().default))) {
return asset;
} else {
return null;
}
},
getSoundNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).SOUND,prefix,true,out);
},
playSound: function(name,startTime,loops,transform) {
if(loops == null) {
loops = 0;
}
if(startTime == null) {
startTime = 0;
}
var sound = this.getSound(name);
if(sound != null) {
return sound.play(startTime,loops,transform);
} else {
return null;
}
},
getXml: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).XML_DOCUMENT,name);
if(((asset) instanceof (Xml().default))) {
return asset;
} else {
return null;
}
},
getXmlNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).XML_DOCUMENT,prefix,true,out);
},
getObject: function(name) {
return this.getAsset((starling_assets_AssetType().default).OBJECT,name);
},
getObjectNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).OBJECT,prefix,true,out);
},
getByteArray: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).BYTE_ARRAY,name);
if(((asset) instanceof (openfl_utils_ByteArray().default))) {
return asset;
} else {
return null;
}
},
getByteArrayNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).BYTE_ARRAY,prefix,true,out);
},
getBitmapFont: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).BITMAP_FONT,name);
if(((asset) instanceof (starling_text_BitmapFont().default))) {
return asset;
} else {
return null;
}
},
getBitmapFontNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).BITMAP_FONT,prefix,true,out);
},
getAssetManager: function(name) {
var asset = this.getAsset((starling_assets_AssetType().default).ASSET_MANAGER,name);
if(((asset) instanceof AssetManager)) {
return asset;
} else {
return null;
}
},
getAssetManagerNames: function(prefix,out) {
if(prefix == null) {
prefix = "";
}
return this.getAssetNames((starling_assets_AssetType().default).ASSET_MANAGER,prefix,true,out);
},
removeTexture: function(name,dispose) {
if(dispose == null) {
dispose = true;
}
this.removeAsset((starling_assets_AssetType().default).TEXTURE,name,dispose);
},
removeTextureAtlas: function(name,dispose) {
if(dispose == null) {
dispose = true;
}
this.removeAsset((starling_assets_AssetType().default).TEXTURE_ATLAS,name,dispose);
},
removeSound: function(name) {
this.removeAsset((starling_assets_AssetType().default).SOUND,name);
},
removeXml: function(name,dispose) {
if(dispose == null) {
dispose = true;
}
this.removeAsset((starling_assets_AssetType().default).XML_DOCUMENT,name,dispose);
},
removeObject: function(name) {
this.removeAsset((starling_assets_AssetType().default).OBJECT,name);
},
removeByteArray: function(name,dispose) {
if(dispose == null) {
dispose = true;
}
this.removeAsset((starling_assets_AssetType().default).BYTE_ARRAY,name,dispose);
},
removeBitmapFont: function(name,dispose) {
if(dispose == null) {
dispose = true;
}
this.removeAsset((starling_assets_AssetType().default).BITMAP_FONT,name,dispose);
},
removeAssetManager: function(name,dispose) {
if(dispose == null) {
dispose = true;
}
this.removeAsset((starling_assets_AssetType().default).ASSET_MANAGER,name,dispose);
},
registerFactory: function(factory,priority) {
if(priority == null) {
priority = 0;
}
factory.set_priority(priority);
(openfl__$Vector_Vector_$Impl_$().default).push(this._assetFactories,factory);
var this1 = this._assetFactories;
(Array.prototype.sort.call)(this1,$bind(this,this.compareAssetFactoriesPriorities));
},
unregisterFactory: function(factory) {
var this1 = this._assetFactories;
var index = (Array.prototype.indexOf.call)(this1,factory,0);
if(index != -1) {
(openfl__$Vector_Vector_$Impl_$().default).removeAt(this._assetFactories,index);
}
},
getFilenameFromUrl: function(url) {
if(url != null) {
if(AssetManager.NAME_REGEX.match((StringTools().default).urlDecode(url))) {
return AssetManager.NAME_REGEX.matched(1);
}
}
return null;
},
getNameFromUrl: function(url) {
if(url != null) {
if(AssetManager.NAME_REGEX.match((StringTools().default).urlDecode(url))) {
return AssetManager.NAME_REGEX.matched(2);
}
}
return null;
},
getExtensionFromUrl: function(url) {
if(url != null) {
if(AssetManager.NAME_REGEX.match((StringTools().default).urlDecode(url))) {
if(AssetManager.NAME_REGEX.matched(3) != null) {
return AssetManager.NAME_REGEX.matched(3);
}
}
}
return "";
},
disposeAsset: function(asset) {
if(((asset) instanceof (openfl_utils_ByteArray().default))) {
var byteArray = asset;
byteArray.clear();
}
if((Reflect().default).hasField(asset,"dispose")) {
var disposeMethod = (Reflect().default).field(asset,"dispose");
(Reflect().default).callMethod(asset,disposeMethod,[]);
}
},
log: function(message) {
if(this._verbose) {
(haxe_Log().default).trace("[AssetManager] " + message,{ fileName : "../src/starling/assets/AssetManager.hx", lineNumber : 1042, className : "starling.assets.AssetManager", methodName : "log"});
}
},
getDictionaryKeys: function(dictionary,prefix,out) {
if(prefix == null) {
prefix = "";
}
if(out == null) {
out = (openfl__$Vector_Vector_$Impl_$().default)._new();
}
if(dictionary != null) {
var name = dictionary.keys();
while(name.hasNext()) {
var name1 = name.next();
if(name1.indexOf(prefix) == 0) {
(openfl__$Vector_Vector_$Impl_$().default).push(out,name1);
}
}
(Array.prototype.sort.call)(out,$bind(this,this.compareString));
}
return out;
},
getUniqueName: function() {
return AssetManager.NO_NAME + "-" + AssetManager.sNoNameCount++;
},
compareString: function(a,b) {
if(a < b) {
return -1;
} else if(a > b) {
return 1;
} else {
return 0;
}
},
compareAssetFactoriesPriorities: function(a,b) {
if(a.get_priority() == b.get_priority()) {
return 0;
}
if(a.get_priority() > b.get_priority()) {
return -1;
} else {
return 1;
}
},
compareAssetPostProcessorsPriorities: function(a,b) {
if(a.get_priority() == b.get_priority()) {
return 0;
}
if(a.get_priority() > b.get_priority()) {
return -1;
} else {
return 1;
}
},
get_verbose: function() {
return this._verbose;
},
set_verbose: function(value) {
return this._verbose = value;
},
get_numQueuedAssets: function() {
return this._queue.length;
},
get_numConnections: function() {
return this._numConnections;
},
set_numConnections: function(value) {
return this._numConnections = (Std().default).int((starling_utils_MathUtil().default).min(1,value));
},
get_textureOptions: function() {
return this._textureOptions;
},
set_textureOptions: function(value) {
this._textureOptions.copyFrom(value);
return this._textureOptions;
},
get_dataLoader: function() {
return this._dataLoader;
},
set_dataLoader: function(value) {
return this._dataLoader = value;
},
get_registerBitmapFontsWithFontFace: function() {
return this._registerBitmapFontsWithFontFace;
},
set_registerBitmapFontsWithFontFace: function(value) {
return this._registerBitmapFontsWithFontFace = value;
}
});
AssetManager.prototype.__class__ = AssetManager.prototype.constructor = $hxClasses["starling.assets.AssetManager"] = AssetManager;
// Init
Object.defineProperties(AssetManager.prototype,{ verbose : { get : function () { return this.get_verbose (); }, set : function (v) { return this.set_verbose (v); }}, numQueuedAssets : { get : function () { return this.get_numQueuedAssets (); }}, numConnections : { get : function () { return this.get_numConnections (); }, set : function (v) { return this.set_numConnections (v); }}, textureOptions : { get : function () { return this.get_textureOptions (); }, set : function (v) { return this.set_textureOptions (v); }}, dataLoader : { get : function () { return this.get_dataLoader (); }, set : function (v) { return this.set_dataLoader (v); }}, registerBitmapFontsWithFontFace : { get : function () { return this.get_registerBitmapFontsWithFontFace (); }, set : function (v) { return this.set_registerBitmapFontsWithFontFace (v); }}});
// Statics
AssetManager.NAME_REGEX = new (EReg().default)("(([^?/\\\\]+?)(?:\\.([\\w\\-]+))?)(?:\\?.*)?$","")
AssetManager.NO_NAME = "unnamed"
AssetManager.sNoNameCount = 0
AssetManager.sNames = (openfl__$Vector_Vector_$Impl_$().default)._new()
// Export
exports.default = AssetManager;