ConceptCreator/app/storage/loader/ItemLoader.js
Sebastian Böckelmann 8085b07264
All checks were successful
E2E Testing / test (push) Successful in 1m32s
Load Items
2024-04-20 10:55:50 +02:00

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