@osobh/reactar
Version:
AR Library for React Native and Expo
36 lines • 1.18 kB
JavaScript
;
// src/assets/AssetManager.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssetManager = void 0;
const expo_asset_1 = require("expo-asset");
class AssetManager {
/**
* Loads an asset.
* @param assetSource - Either a local asset (using require) or a remote URI.
*/
static async loadAsset(assetSource) {
let asset;
if (typeof assetSource === 'number') {
// Local asset (e.g. require('./model.glb'))
asset = expo_asset_1.Asset.fromModule(assetSource);
if (!asset.downloaded) {
await asset.downloadAsync();
}
}
else {
// Remote asset URL
asset = new expo_asset_1.Asset({ uri: assetSource, name: assetSource, type: 'unknown' });
await asset.downloadAsync();
}
return asset;
}
/**
* Loads multiple assets concurrently.
*/
static async loadAssets(assetSources) {
const promises = assetSources.map(src => this.loadAsset(src));
return Promise.all(promises);
}
}
exports.AssetManager = AssetManager;
//# sourceMappingURL=AssetManager.js.map