UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

228 lines (227 loc) 8.35 kB
import { EventDispatcher } from "../events/EventDispatcher"; import { Texture } from "../resource/Texture"; import { HttpRequest } from "./HttpRequest"; /** * 加载进度发生改变时调度。 * @eventType Event.PROGRESS * */ /** * 加载完成后调度。 * @eventType Event.COMPLETE * */ /** * 加载出错时调度。 * @eventType Event.ERROR * */ /** * <code>Loader</code> 类可用来加载文本、JSON、XML、二进制、图像等资源。 */ export declare class Loader extends EventDispatcher { /**文本类型,加载完成后返回文本。*/ static TEXT: string; /**JSON 类型,加载完成后返回json数据。*/ static JSON: string; /**prefab 类型,加载完成后返回Prefab实例。*/ static PREFAB: string; /**XML 类型,加载完成后返回domXML。*/ static XML: string; /**二进制类型,加载完成后返回arraybuffer二进制数据。*/ static BUFFER: string; /**纹理类型,加载完成后返回Texture。*/ static IMAGE: string; /**声音类型,加载完成后返回sound。*/ static SOUND: string; /**图集类型,加载完成后返回图集json信息(并创建图集内小图Texture)。*/ static ATLAS: string; /**位图字体类型,加载完成后返回BitmapFont,加载后,会根据文件名自动注册为位图字体。*/ static FONT: string; /** TTF字体类型,加载完成后返回null。*/ static TTF: string; /** 预加载文件类型,加载完成后自动解析到preLoadedMap。*/ static PLF: string; /** 二进制预加载文件类型,加载完成后自动解析到preLoadedMap。*/ static PLFB: string; /**Hierarchy资源。*/ static HIERARCHY: string; /**Mesh资源。*/ static MESH: string; /**Material资源。*/ static MATERIAL: string; /**Texture2D资源。*/ static TEXTURE2D: string; /**TextureCube资源。*/ static TEXTURECUBE: string; /**AnimationClip资源。*/ static ANIMATIONCLIP: string; /**Avatar资源。*/ static AVATAR: string; /**Terrain资源。*/ static TERRAINHEIGHTDATA: string; /**Terrain资源。*/ static TERRAINRES: string; /**文件后缀和类型对应表。*/ static typeMap: { [key: string]: string; }; /**资源解析函数对应表,用来扩展更多类型的资源加载解析。*/ static parserMap: any; /**每帧加载完成回调使用的最大超时时间,如果超时,则下帧再处理,防止帧卡顿。*/ static maxTimeOut: number; /**资源分组对应表。*/ static groupMap: { [key: string]: string[]; }; /**已加载的资源池。*/ static loadedMap: { [key: string]: any; }; /**已加载的图集资源池。*/ static atlasMap: { [key: string]: any[]; }; /**已加载的纹理资源池。*/ static textureMap: { [key: string]: Texture; }; /** @private 已加载的数据文件。*/ static preLoadedMap: { [key: string]: ArrayBuffer; }; /**@private 引用image对象,防止垃圾回收*/ protected static _imgCache: { [key: string]: HTMLImageElement; }; /**@private */ protected static _loaders: Loader[]; /**@private */ protected static _isWorking: boolean; /**@private */ protected static _startIndex: number; /** * 获取指定资源地址的数据类型。 * @param url 资源地址。 * @return 数据类型。 */ static getTypeFromUrl(url: string): string; /**@private */ protected _url: string; /**@private */ protected _type: string; /**@private */ protected _http: HttpRequest; /**@private */ protected _useWorkerLoader: boolean; /** * 加载资源。加载错误会派发 Event.ERROR 事件,参数为错误信息。 * @param url 资源地址。 * @param type (default = null)资源类型。可选值为:Loader.TEXT、Loader.JSON、Loader.XML、Loader.BUFFER、Loader.IMAGE、Loader.SOUND、Loader.ATLAS、Loader.FONT。如果为null,则根据文件后缀分析类型。 * @param cache (default = true)是否缓存数据。 * @param group (default = null)分组名称。 * @param ignoreCache (default = false)是否忽略缓存,强制重新加载。 * @param useWorkerLoader(default = false)是否使用worker加载(只针对IMAGE类型和ATLAS类型,并且浏览器支持的情况下生效) */ load(url: string, type?: string | null, cache?: boolean, group?: string | null, ignoreCache?: boolean, useWorkerLoader?: boolean): void; /** * @private * onload、onprocess、onerror必须写在本类 */ private _loadHttpRequest; /** * @private */ private _loadHtmlImage; /** * @private * 加载TTF资源。 * @param url 资源地址。 */ /** * @private */ protected _loadImage(url: string, isformatURL?: boolean): void; /**@private */ protected onError(message: string): void; /** * 资源加载完成的处理函数。 * @param data 数据。 */ protected onLoaded(data?: any): void; private parsePLFData; private parsePLFBData; private parseOnePLFBFile; /** * 加载完成。 * @param data 加载的数据。 */ protected complete(data: any): void; /**@private */ private static checkNext; /** * 结束加载,处理是否缓存及派发完成事件 <code>Event.COMPLETE</code> 。 * @param content 加载后的数据 */ endLoad(content?: any): void; /**加载地址。*/ get url(): string; /**加载类型。*/ get type(): string; /**是否缓存。*/ get cache(): boolean; /**返回的数据。*/ get data(): any; /** * 清理指定资源地址的缓存。 * @param url 资源地址。 */ static clearRes(url: string): void; /** * 销毁Texture使用的图片资源,保留texture壳,如果下次渲染的时候,发现texture使用的图片资源不存在,则会自动恢复 * 相比clearRes,clearTextureRes只是清理texture里面使用的图片资源,并不销毁texture,再次使用到的时候会自动恢复图片资源 * 而clearRes会彻底销毁texture,导致不能再使用;clearTextureRes能确保立即销毁图片资源,并且不用担心销毁错误,clearRes则采用引用计数方式销毁 * 【注意】如果图片本身在自动合集里面(默认图片小于512*512),内存是不能被销毁的,此图片被大图合集管理器管理 * @param url 图集地址或者texture地址,比如 Loader.clearTextureRes("res/atlas/comp.atlas"); Loader.clearTextureRes("hall/bg.jpg"); */ static clearTextureRes(url: string): void; /** * 获取指定资源地址的资源或纹理。 * @param url 资源地址。 * @return 返回资源。 */ static getRes(url: string): any; /** * 获取指定资源地址的图集地址列表。 * @param url 图集地址。 * @return 返回地址集合。 */ static getAtlas(url: string): any[]; /** * 缓存资源。 * 如果资源已经存在则缓存失败。 * @param url 资源地址。 * @param data 要缓存的内容。 */ static cacheRes(url: string, data: any): void; /** * 强制缓存资源。不做任何检查。 * @param url 资源地址。 * @param data 要缓存的内容。 */ static cacheResForce(url: string, data: any): void; /** * 缓存Teture。 * @param url 资源地址。 * @param data 要缓存的Texture。 */ static cacheTexture(url: string, data: Texture): void; /** * 设置资源分组。 * @param url 资源地址。 * @param group 分组名。 */ static setGroup(url: string, group: string): void; /** * 根据分组清理资源。 * @param group 分组名。 */ static clearResByGroup(group: string): void; }