From 814f3b03b4b238093a7ad738c8ff64ffaab7d929 Mon Sep 17 00:00:00 2001 From: mamengke01 <794347210@qq.com> Date: Wed, 9 Dec 2020 21:51:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/pubUtils/gamedata.ts | 51 ++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/shared/pubUtils/gamedata.ts b/shared/pubUtils/gamedata.ts index 9288e80f7..9b9e84149 100644 --- a/shared/pubUtils/gamedata.ts +++ b/shared/pubUtils/gamedata.ts @@ -12,6 +12,7 @@ const towerTaskInfos = new Map(); const heroInfos = new Map(); const jobInfos = new Map(); const jobClassMaxGrades = new Map(); +const jobClassAndgrades = new Map(); const levelInfos = new Map(); const heroLevelInfo = new Map(); const starRatioInfo = new Map(); @@ -26,7 +27,8 @@ const blueprtToWar = new Map(); const goodInfo = new Map(); const blueprt = new Map>(); const blueprtCompose = new Map(); - +const fiendShips = new Map(); +const fashions = new Map(); function parseWarData() { let result = null; for (let filename of wars) { @@ -102,6 +104,7 @@ function parseJobData() { if (maxLevel < elem.grade) { jobClassMaxGrades.set(elem.job_class, elem.grade); } + jobClassAndgrades.set(elem.job_class+'_'+elem.grade,{unlockLevel:elem.unlockLevel, jobid:elem.jobid}); } }); } @@ -236,6 +239,33 @@ function parseBlueprtCompose() { }); } +function parseFashions() { + const file = 'dic_zyz_fashions'; + const data = gamedata['jsons'][file] || []; + data.forEach(elem => { + if (elem && elem.id) { + fashions.set(elem.id, elem); + } + }); +} + +function parseFiendShips() { + const file = 'dic_zyz_friend_ship'; + const data = gamedata['jsons'][file] || []; + data.forEach(elem => { + if (elem && elem.id) { + fashions.set(elem.id, elem); + } + }); +} + +function parseFiendShipLevels() { + const file = 'dic_zyz_friend_ship_level'; + const data = gamedata['jsons'][file] || []; + data.sort(function(a, b) { + return a.level - b.level; + }) +} function initData (folder: string) { if(!gamedata.hasOwnProperty(folder)) { gamedata[folder] = {}; @@ -276,6 +306,9 @@ function parseData() { parseComBtlData(); parseGood(); parseBlueprtCompose(); + parseFashions(); + parseFiendShips(); + parseFiendShipLevels(); } initData('jsons'); // 加载一般json @@ -436,4 +469,20 @@ export function hasExpeditionById(id: number) { export function getBlueprtComposeByQuality(quality: number) { return blueprtCompose.get(quality); +} + +export function getFashionsById(id:number) { + return fashions.get(id); +} +export function getFriendShipById(id:number) { + return fiendShips.get(id); +} + +export function getFriendShipLevels() { + const file = 'dic_zyz_friend_ship_level'; + return gamedata['jsons'][file] || []; +} + +export function getJobByGradeAndClass(jobClass:number, grade: number) { + return jobClassAndgrades.get(jobClass +'_' + grade); } \ No newline at end of file