enka-network-api
Version:
Enka-network API wrapper for Genshin Impact.
24 lines (23 loc) • 1.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TheaterMode = exports.theaterDifficulties = void 0;
const config_file_js_1 = require("config_file.js");
const AssetsNotFoundError_1 = require("../../errors/AssetsNotFoundError");
const ExcelTransformer_1 = require("../../client/ExcelTransformer");
exports.theaterDifficulties = ["EASY", "NORMAL", "HARD", "VISIONARY"];
class TheaterMode {
constructor(data, enka) {
this.enka = enka;
this._data = data;
const json = new config_file_js_1.JsonReader(ExcelTransformer_1.excelJsonOptions, this._data);
this.id = json.getAsNumber("difficultyId");
this.difficulty = exports.theaterDifficulties[json.getAsNumber("difficultyLevel") - 1];
}
static getById(id, enka) {
const data = enka.cachedAssetsManager.getExcelData("RoleCombatDifficultyExcelConfigData", id);
if (!data)
throw new AssetsNotFoundError_1.AssetsNotFoundError("TheaterMode", id);
return new TheaterMode(data, enka);
}
}
exports.TheaterMode = TheaterMode;
;