const fs = require('fs'); const path = require('path'); var gamedata = {}; const wars = ['dic_zyz_gk_main', 'dic_zyz_gk_mainElite', 'dic_zyz_gk_daily', 'dic_zyz_gk_event', 'dic_zyz_gk_tower']; // 关卡相关的表 const allWarInfos = new Map(); const towerInfos = new Map(); function parseWarData() { let result = null; for (let filename of wars) { let warInfo = gamedata[filename]||[]; for(let war of warInfo) { if(war.war_id) { allWarInfos.set(war.war_id, war); } } } return result; } function parseTowerData() { const towerFile = 'dic_zyz_tower'; const towerData = gamedata[towerFile] || []; towerData.forEach(elem => { if (elem.towerFloor) { towerInfos.set(elem.towerFloor, elem); } }); } function initData () { fs.readdirSync(__dirname + '/../resource') .filter(function(file) { return (file.indexOf(".") !== 0) && (file !== "index.js"); }) //筛选有文件名且不是index进行遍历 .forEach(function(file) { var name = file.split('.')[0]; try { gamedata[name] = JSON.parse( fs.readFileSync(path.resolve(__dirname, "../resource/" + file)) ); } catch(e) { console.error('【文件缺少】:' + file); gamedata[name] = []; } }); } function parseData() { parseWarData(); parseTowerData(); } initData(); parseData(); export function getGamedata(key) { return gamedata[key]; } export function getWarById(warid: number) { return allWarInfos.get(warid); } export function getGoodById(gid) { console.log(gid) let goodsInfo = gamedata['dic_goods']||[]; return goodsInfo.find(cur => { return cur.good_id == gid }); }