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:
51 lines (50 loc) • 2.13 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CharacterCostume = void 0;
const Client_1 = require("../../client/Client");
const ImageAssets_1 = require("../../models/assets/ImageAssets");
/**
* Class of character's costume
*/
class CharacterCostume {
/**
* Create a Costume
* @param costumeId Costume ID
*/
constructor(costumeId) {
this.id = costumeId;
const costumeJson = Client_1.Client._getJsonFromCachedExcelBinOutput('AvatarCostumeExcelConfigData', this.id);
this.characterId = costumeJson.characterId;
const avatarJson = Client_1.Client._getJsonFromCachedExcelBinOutput('AvatarExcelConfigData', this.characterId);
this.name =
Client_1.Client._cachedTextMap.get(String(costumeJson.nameTextMapHash)) || '';
this.description =
Client_1.Client._cachedTextMap.get(String(costumeJson.descTextMapHash)) || '';
this.quality = costumeJson.quality || 0;
const sideIconName = costumeJson.quality && typeof avatarJson != 'undefined'
? costumeJson.sideIconName
: avatarJson.sideIconName;
this.sideIcon = new ImageAssets_1.ImageAssets(sideIconName);
const nameParts = this.sideIcon.name.split('_');
const avatarTag = nameParts[nameParts.length - 1];
this.icon = new ImageAssets_1.ImageAssets('UI_AvatarIcon_' + avatarTag);
this.art = new ImageAssets_1.ImageAssets(costumeJson.quality
? 'UI_Costume_' + avatarTag
: 'UI_Gacha_AvatarImg_' + avatarTag);
this.card = new ImageAssets_1.ImageAssets('UI_AvatarIcon_' + avatarTag + '_Card');
}
/**
* Get all costume IDs
* @returns All costume IDs
*/
static get allCostumeIds() {
const costumeDatas = Object.values(Client_1.Client._getCachedExcelBinOutputByName('AvatarCostumeExcelConfigData'));
return costumeDatas.map((k) => k.skinId);
}
}
exports.CharacterCostume = CharacterCostume;
_a = CharacterCostume;
(() => {
Client_1.Client._addExcelBinOutputKeyFromClassPrototype(_a.prototype);
})();