mdx-m3-viewer
Version:
A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.
32 lines (27 loc) • 765 B
text/typescript
import ModelViewer from './viewer';
/**
* The data sent to every resource as a part of the loading process.
*/
export type ResourceData = { viewer: ModelViewer, fetchUrl: string };
/**
* A viewer resource.
*
* Generally speaking resources are created via viewer.load(), or viewer.loadGeneric().
*/
export abstract class Resource {
viewer: ModelViewer;
fetchUrl: string;
blockers: Promise<Resource | undefined>[] = [];
constructor(resourceData: ResourceData) {
this.viewer = resourceData.viewer;
this.fetchUrl = resourceData.fetchUrl;
}
/**
* Remove this resource from its viewer's cache.
*
* Equivalent to viewer.unload(resource).
*/
detach() {
return this.viewer.unload(this);
}
}