UNPKG

genshin-manager

Version:

<div align="center"> <p> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https://img.shields.io/npm/v/genshin-manager.svg?maxAge=3600" alt="npm version" /></a> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https:

49 lines (48 loc) 1.71 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Material = void 0; const Client_1 = require("../client/Client"); const ImageAssets_1 = require("../models/assets/ImageAssets"); /** * Class of material */ class Material { /** * Create a Material * @param materialId Material ID */ constructor(materialId) { this.id = materialId; const materialJson = Client_1.Client._getJsonFromCachedExcelBinOutput('MaterialExcelConfigData', this.id); this.name = Client_1.Client._cachedTextMap.get(String(materialJson.nameTextMapHash)) || ''; this.description = Client_1.Client._cachedTextMap.get(String(materialJson.descTextMapHash)) || ''; this.icon = new ImageAssets_1.ImageAssets(materialJson.icon); this.pictures = materialJson.picPath.map((v) => new ImageAssets_1.ImageAssets(v)); this.itemType = materialJson.itemType; this.materialType = materialJson.materialType; } /** * Get all material IDs * @returns All material IDs */ static get allMaterialIds() { const materialDatas = Object.values(Client_1.Client._getCachedExcelBinOutputByName('MaterialExcelConfigData')); return materialDatas.map((data) => data.id); } /** * Get material ID by name * @param name Material name * @returns Material ID */ static getMaterialIdByName(name) { return Client_1.Client._searchIdInExcelBinOutByText('MaterialExcelConfigData', name).map((k) => +k); } } exports.Material = Material; _a = Material; (() => { Client_1.Client._addExcelBinOutputKeyFromClassPrototype(_a.prototype); })();