mirror of
https://github.com/galacean/engine.git
synced 2026-06-20 11:22:21 +08:00
20 lines
779 B
TypeScript
20 lines
779 B
TypeScript
import { AssetPromise, decode, Loader, LoadItem, resourceLoader, ResourceManager } from "@galacean/engine";
|
|
import { XRReferenceImage } from "../feature/trackable/image/XRReferenceImage";
|
|
|
|
@resourceLoader("XRReferenceImage", [])
|
|
export class XRReferenceImageLoader extends Loader<XRReferenceImage> {
|
|
load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<XRReferenceImage> {
|
|
return new AssetPromise((resolve, reject) => {
|
|
resourceManager
|
|
// @ts-ignore
|
|
._request<ArrayBuffer>(item.url, { ...item, type: "arraybuffer" })
|
|
.then((data) => {
|
|
decode<XRReferenceImage>(data, resourceManager.engine).then((referenceImage) => {
|
|
resolve(referenceImage);
|
|
});
|
|
})
|
|
.catch(reject);
|
|
});
|
|
}
|
|
}
|