steam-family-bot-core
Version:
一个用于新版 Steam 家庭的库存监控 Bot 插件
153 lines • 5.92 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.preferImgStringToEnum = exports.getGameCapsule = void 0;
const interface_1 = require("../interface");
const defaultImg = 'https://store.akamai.steamstatic.com/public/images/applications/store/defaultappimage.png';
const getGameCapsule = (game, preferImgType) => {
const preferGameImgType = (0, exports.preferImgStringToEnum)(preferImgType);
try {
const filename = getPreferImgByPreferType(game, preferGameImgType);
const format = game.assets?.assetUrlFormat;
const prefix = 'https://cdn.akamai.steamstatic.com/';
const url = format?.replace('${FILENAME}', filename);
return prefix + url;
}
catch (e) {
return defaultImg;
}
};
exports.getGameCapsule = getGameCapsule;
const getPreferImgByPreferType = (game, preferImgType) => {
const asset = game.assets;
switch (preferImgType) {
case interface_1.PreferGameImgType.Header:
return (asset.header ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.mainCapsule ??
asset.smallCapsule ??
asset.heroCapsule2x ??
asset.heroCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.Hero:
return (asset.heroCapsule ??
asset.heroCapsule2x ??
asset.header ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.mainCapsule ??
asset.smallCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.Hero2X:
return (asset.heroCapsule2x ??
asset.heroCapsule ??
asset.header ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.mainCapsule ??
asset.smallCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.Library:
return (asset.libraryCapsule ??
asset.libraryCapsule2x ??
asset.header ??
asset.mainCapsule ??
asset.smallCapsule ??
asset.heroCapsule2x ??
asset.heroCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.Library2X:
return (asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.header ??
asset.mainCapsule ??
asset.smallCapsule ??
asset.heroCapsule2x ??
asset.heroCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.Main:
return (asset.mainCapsule ??
asset.smallCapsule ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.header ??
asset.heroCapsule2x ??
asset.heroCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.Small:
return (asset.smallCapsule ??
asset.mainCapsule ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.header ??
asset.heroCapsule2x ??
asset.heroCapsule ??
asset.libraryHero2x ??
asset.libraryHero);
case interface_1.PreferGameImgType.LibHero:
return (asset.libraryHero ??
asset.libraryHero2x ??
asset.smallCapsule ??
asset.mainCapsule ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.header ??
asset.heroCapsule2x ??
asset.heroCapsule);
case interface_1.PreferGameImgType.LibHero2x:
return (asset.libraryHero2x ??
asset.libraryHero ??
asset.smallCapsule ??
asset.mainCapsule ??
asset.libraryCapsule2x ??
asset.libraryCapsule ??
asset.header ??
asset.heroCapsule2x ??
asset.heroCapsule);
}
};
const preferImgStringToEnum = (str) => {
let preferGameImgType = interface_1.PreferGameImgType.Header;
switch (str) {
case 'header':
preferGameImgType = interface_1.PreferGameImgType.Header;
break;
case 'mainCapsule':
case 'main':
preferGameImgType = interface_1.PreferGameImgType.Main;
break;
case 'smallCapsule':
case 'small':
preferGameImgType = interface_1.PreferGameImgType.Small;
break;
case 'libraryCapsule':
case 'library':
preferGameImgType = interface_1.PreferGameImgType.Library;
break;
case 'libraryCapsule2x':
case 'library2x':
preferGameImgType = interface_1.PreferGameImgType.Library2X;
break;
case 'heroCapsule':
preferGameImgType = interface_1.PreferGameImgType.Hero;
break;
case 'heroCapsule2x':
preferGameImgType = interface_1.PreferGameImgType.Hero2X;
break;
case 'libraryHero':
preferGameImgType = interface_1.PreferGameImgType.LibHero;
break;
case 'libraryHero2x':
preferGameImgType = interface_1.PreferGameImgType.LibHero2x;
break;
}
return preferGameImgType;
};
exports.preferImgStringToEnum = preferImgStringToEnum;
//# sourceMappingURL=preferImg.js.map