@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
73 lines (72 loc) • 1.98 kB
TypeScript
import { Base } from "../base/Base";
import { App } from "../core/App";
import { ParticleData } from "../effect/ParticleData";
import { InstantiatedEntries, NodeMaterial, Texture } from "../runtime";
import { ResCacheData } from "./ResCacheData";
import { ResOptions } from "./ResOptions";
/**
* 资源池
*/
export declare class ResPool extends Base {
/**
* 资源列表
*/
readonly resList: ResOptions[];
_cacheVertices: number;
/**
* 缓存
*/
_cache: Map<string, ResCacheData>;
/**
* 加载中的资源列表
*/
private _locked;
/**
* 实例化一个资源池对象
* @param app 应用
*/
constructor(app: App);
/**
* 判断指定编号的的资源是否已缓存
* @param id 编号
*/
isCached(id: string): boolean;
/**
* 获取资源信息
* @param index 索引或资源编号
*/
getResInfo(index: number | string): ResOptions;
/**
* 获取资源编号
* @param index 索引
*/
getResId(index: number): string | undefined;
/**
* 获取资源索引
* @param id 编号
*/
getResIndex(id: string): number | undefined;
/**
* 加载指定资源
* @param id 编号
*/
_loadRes(info: ResOptions): Promise<void>;
/**
* 获取指定资源
* @param id 编号
* @param optimized 是否优化网格
* @param archiveGrid 是否包含档案格
*/
getRes(id: string, optimized?: boolean, archiveGrid?: boolean): Promise<Texture | InstantiatedEntries | NodeMaterial | any>;
private _cloneEntires;
private _loadModel;
private _getTexture;
private _loadMaterial;
private _loadParticle;
private _getResType;
/**
* 获取粒子默认数据(仅用于编辑器)
* @param id 编号
*/
getDefaultParticleData(id: string): Promise<ParticleData>;
}