32 lines
1.4 KiB
JavaScript
32 lines
1.4 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.GameModelLoader = void 0;
|
||
|
const StoredGameModel_1 = require("../StoredGameModel");
|
||
|
const path = require("node:path");
|
||
|
const ModelComponentFileDirectory_1 = require("../ModelComponentFileDirectory");
|
||
|
const ScriptAccountLoader_1 = require("./ScriptAccountLoader");
|
||
|
class GameModelLoader {
|
||
|
constructor(gameModelDir) {
|
||
|
this.gameModelDir = gameModelDir;
|
||
|
}
|
||
|
loadGameModel() {
|
||
|
const gameModelName = path.basename(this.gameModelDir);
|
||
|
const gameModelComponents = this.loadGameModelComponents();
|
||
|
return new StoredGameModel_1.StoredGameModel(gameModelName, gameModelComponents);
|
||
|
}
|
||
|
loadGameModelComponents() {
|
||
|
let gameModelComponents = this.loadScriptAccountComponents();
|
||
|
gameModelComponents = gameModelComponents.concat(this.loadGamesystems());
|
||
|
return gameModelComponents;
|
||
|
}
|
||
|
loadScriptAccountComponents() {
|
||
|
const scriptAccountDir = path.join(this.gameModelDir, ModelComponentFileDirectory_1.ModelComponentFileDirectory.SCRIPTACCOUNT_DIR_NAME);
|
||
|
const scriptAccountLoader = new ScriptAccountLoader_1.ScriptAccountLoader(scriptAccountDir);
|
||
|
return scriptAccountLoader.loadScriptAccounts();
|
||
|
}
|
||
|
loadGamesystems() {
|
||
|
return [];
|
||
|
}
|
||
|
}
|
||
|
exports.GameModelLoader = GameModelLoader;
|
||
|
//# sourceMappingURL=GameModelLoader.js.map
|