添加主角等级升级逻辑

This commit is contained in:
luying
2020-10-20 20:18:15 +08:00
parent 3332d16cc6
commit 7b65c1856b
6 changed files with 71 additions and 24 deletions
+33
View File
@@ -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);
}