import * as spec from '@galacean/effects-specification'; import { Downloader } from './downloader'; import type { ImageLike, SceneLoadOptions } from './scene'; import { Scene } from './scene'; import type { Disposable } from './utils'; import type { Renderer } from './render'; /** * 资源管理器 * 用于加载和动效中所有的资源文件,包括图片、插件、图层粒子数据等 */ export declare class AssetManager implements Disposable { options: SceneLoadOptions; private readonly downloader; /** * 相对 url 的基本路径 */ private baseUrl; /** * 图像资源,用于创建和释放 GPU 纹理资源 */ private assets; /** * TextureSource 来源 */ private sourceFrom; /** * 自定义文本缓存,随页面销毁而销毁 */ private static fontCache; private id; /** * 加载超时时间 * @default 10 */ private timeout; /** * 场景加载的超时定时器 */ private timers; /** * 字体加载方法 * @param fonts - 字体定义数组 * @param [baseUrl=location.href] - URL 的 base 字段 * @returns */ static loadFontFamily(fonts: spec.FontDefine[], baseUrl?: string): Promise; /** * 构造函数 * @param options - 场景加载参数 * @param downloader - 资源下载对象 */ constructor(options?: SceneLoadOptions, downloader?: Downloader); updateOptions(options?: SceneLoadOptions): void; /** * 场景创建,通过 json 创建出场景对象,并进行提前编译等工作 * @param url - json 的 URL 链接或者 json 对象 * @param renderer - renderer 对象,用于获取管理、编译 shader 及 GPU 上下文的参数 * @param options - 扩展参数 * @returns */ loadScene(url: Scene.LoadType, renderer?: Renderer): Promise; getAssets(): Record; private processJSON; private processBins; private processFontURL; private processImages; private onPluginSceneLoadStart; private processTextures; private loadJSON; private loadBins; private assignImagesToAssets; private removeTimer; /** * 销毁方法 */ dispose(): void; }