31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.ItemLoader = void 0;
|
||
|
const fs = require("node:fs");
|
||
|
const StoreComponent_1 = require("../StoreComponent");
|
||
|
const ModelComponentType_1 = require("../../../src/app/project/game-model/ModelComponentType");
|
||
|
const FileUtils_1 = require("../FileUtils");
|
||
|
class ItemLoader {
|
||
|
constructor(itemDir) {
|
||
|
this.itemDir = itemDir;
|
||
|
}
|
||
|
loadItems() {
|
||
|
const itemFiles = FileUtils_1.FileUtils.listFilesInDirectory(this.itemDir);
|
||
|
const loadedItems = [];
|
||
|
itemFiles.forEach(itemFile => {
|
||
|
const loadedItem = this.loadItem(itemFile);
|
||
|
if (loadedItem != undefined) {
|
||
|
loadedItems.push(loadedItem);
|
||
|
}
|
||
|
});
|
||
|
return loadedItems;
|
||
|
}
|
||
|
loadItem(itemFile) {
|
||
|
if (itemFile.endsWith(".json")) {
|
||
|
const itemData = fs.readFileSync(itemFile, 'utf-8');
|
||
|
return new StoreComponent_1.StoreComponent(itemData, itemFile, ModelComponentType_1.ModelComponentType.ITEM);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
exports.ItemLoader = ItemLoader;
|
||
|
//# sourceMappingURL=ItemLoader.js.map
|