You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.6 KiB
51 lines
1.6 KiB
4 weeks ago
|
/*
|
||
|
* @Descripttion:
|
||
|
* @version: 1.0.0
|
||
|
* @Author: YeeChan
|
||
|
* @Date: 2020-07-23 16:59:58
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* 远程资源管理
|
||
|
* 下载后的 cc.Asset 计数加1后 放入 数组存储,下次直接拿取
|
||
|
*/
|
||
|
export default class RemoteMgr {
|
||
|
private static remoteArrayTexture_custom: { [key: string]: cc.Texture2D; } = {}
|
||
|
|
||
|
/**
|
||
|
* 移除所有已加载的
|
||
|
*/
|
||
|
public static removeAllRemote_custom() {
|
||
|
for (let k in this.remoteArrayTexture_custom) {
|
||
|
this.remoteArrayTexture_custom[k].decRef();
|
||
|
}
|
||
|
this.remoteArrayTexture_custom = {};
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 下载远程图片资源,成功后放入数组,计数自增
|
||
|
* @param url
|
||
|
* @param listener
|
||
|
*/
|
||
|
public static loadRemote_custom(url: string, listener: FMListener) {
|
||
|
let texture2D = this.remoteArrayTexture_custom[url];
|
||
|
if (texture2D) {
|
||
|
callFM_custom(listener, null, this.remoteArrayTexture_custom[url]);
|
||
|
} else {
|
||
|
cc.assetManager.loadRemote(url, (error, data) => {
|
||
|
if (error) {
|
||
|
callFM_custom(listener, error, null);
|
||
|
return;
|
||
|
} else {
|
||
|
if (!this.remoteArrayTexture_custom[url]) {
|
||
|
//@ts-ignore
|
||
|
this.remoteArrayTexture_custom[url] = data;
|
||
|
this.remoteArrayTexture_custom[url].addRef();//计数+1
|
||
|
}
|
||
|
callFM_custom(listener, null, this.remoteArrayTexture_custom[url]);
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|