olympus-r-egret
Version:
Olympus的Egret表现层库
45 lines (44 loc) • 1.37 kB
TypeScript
/**
* @author Raykid
* @email initial_r@qq.com
* @create date 2017-09-21
* @modify date 2017-09-21
*
* 资源加载器
*/
export interface IGroupParams {
name: string;
priority?: number;
}
export interface IItemDict {
[key: string]: RES.ResourceItem;
}
export interface IResourceDict {
[groupName: string]: IItemDict;
}
export interface ILoaderHandler {
/** 加载开始时调度 */
start?: () => void;
/** 加载进行时调度,加载完毕前会频繁调度 */
progress?: (resource: RES.ResourceItem, totalProgress: number) => void;
/** 加载中某个group加载完毕时调度 */
oneComplete?: (dict: IItemDict) => void;
/** 加载中某个group加载失败时调度 */
oneError?: (evt: RES.ResourceEvent) => void;
/** 加载完毕时调度 */
complete?: (dict: IResourceDict) => void;
}
export declare class ResourceVersionController implements RES.IVersionController {
init(): Promise<void>;
fetchVersion(callback: {
onSuccess: (data: any) => any;
onFail: (error: number, data: any) => any;
}): void;
getVirtualUrl(url: string): string;
}
export default class AssetsLoader {
private _handler;
private _retryDict;
constructor(handler: ILoaderHandler);
loadGroups(groups: (string | IGroupParams)[]): void;
}