var t = require; var e = module; var i = exports; var s = (this && this.__awaiter) || function (t, n, r, l) { return new (r = r || Promise)(function (i, e) { function s(t) { try { a(l.next(t)); } catch (t) { e(t); } } function o(t) { try { a(l.throw(t)); } catch (t) { e(t); } } function a(t) { var e; t.done ? i(t.value) : ((e = t.value) instanceof r ? e : new r(function (t) { t(e); }) ).then(s, o); } a((l = l.apply(t, n || [])).next()); }); }; Object.defineProperty(i, "__esModule", {value: !0}), (i.LevelDataList = i.LevelData = i.CONFIG_FILE_DIR = void 0); (e = t("CsvDataBase")), (t = t("DataMsrBase")); (i.CONFIG_FILE_DIR = "config/"), (i.default = class extends t.default { constructor(t, e, i, s) { super(t, i), (this._class = t), (this._levelDataClass = e), (this.csvFileName = i), (this.levelFileName = s), (this.datas = {}); } load() { const e = Object.create(null, {load: {get: () => super.load}}); return s(this, void 0, void 0, function* () { let s = (yield this.loadFile(this.levelFileName)).split(/\n/), o = s[0].split(","), a = s[2].split(","), n = [], t = s.length; for (let i = 3; i < t; i++) if (s[i]) { let t = s[i].split(","), e = new this._levelDataClass(); e.$parseData(t, o, a), n[t[0]] || (n[t[0]] = []), n[t[0]].push(e); } yield e.load.call(this); for (const e in this.datas) this.datas[e].$setLevelDatas(n); }); } }), (i.LevelData = class extends e.CsvDataBase { constructor() { super(...arguments), (this.levelDataId = null), (this.levelDatas = null); } getData(t) { return this.levelDatas[t]; } $setLevelDatas(t) { this.levelDatas = t[this.levelDataId]; } getAllData() { return this.levelDatas; } getCount() { return this.levelDatas.length; } }), (i.LevelDataList = class extends t.CsvDataList { $setLevelDatas(t) { for (const e in this.datas) this.datas[e].$setLevelDatas(t); } });