添加主角等级升级逻辑
This commit is contained in:
@@ -9,6 +9,7 @@ const towerTaskInfos = new Map<number, any>();
|
||||
const towerTasksByQuality = new Map<number, Array<number>>();
|
||||
const heroInfos = new Map<number, any>();
|
||||
const jobInfos = new Map<number, any>();
|
||||
const levelInfos = new Map<number, {sum: number, cur: number}>();
|
||||
|
||||
function parseWarData() {
|
||||
let result = null;
|
||||
@@ -66,6 +67,19 @@ function parseJobData() {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function parseLevelInfo() {
|
||||
const jobFile = 'dic_zyz_kingexp';
|
||||
const levelData = gamedata['jsons'][jobFile] || [];
|
||||
let exp = 0;
|
||||
levelData.forEach(elem => {
|
||||
if (elem && elem.level) {
|
||||
exp += elem.exp;
|
||||
levelInfos.set(elem.level, { sum: exp, cur: elem.exp });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function initData (folder: string) {
|
||||
if(!gamedata.hasOwnProperty(folder)) {
|
||||
gamedata[folder] = {};
|
||||
@@ -96,6 +110,7 @@ function parseData() {
|
||||
parseTowerTaskData();
|
||||
parseHeroData();
|
||||
parseJobData();
|
||||
parseLevelInfo();
|
||||
}
|
||||
|
||||
initData('jsons'); // 加载一般json
|
||||
@@ -151,4 +166,22 @@ export function getHeroInfoById(hid: number) {
|
||||
export function getJobInfoById(jid: number) {
|
||||
const jobInfo = jobInfos.get(jid);
|
||||
return jobInfo;
|
||||
}
|
||||
|
||||
export function getLvByExp(exp: number) {
|
||||
let curLv = 0;
|
||||
let entries = levelInfos.entries();
|
||||
for (let [lv, {sum}] of entries) {
|
||||
console.log(lv, sum)
|
||||
if(exp < sum) {
|
||||
curLv = lv; break;
|
||||
}
|
||||
}
|
||||
|
||||
return curLv;
|
||||
}
|
||||
|
||||
export function getExpByLv(lv: number) {
|
||||
console.log(lv)
|
||||
return levelInfos.get(lv);
|
||||
}
|
||||
Reference in New Issue
Block a user