添加字典表解析

This commit is contained in:
luying
2020-12-15 15:00:41 +08:00
parent 2a268b2158
commit 87cdd7a80f
33 changed files with 1462 additions and 47 deletions
+51
View File
@@ -0,0 +1,51 @@
// 兵种表
import {readJsonFile, parseNumberList} from '../util'
import { FILENAME } from '../../consts/consts'
export interface DicJob {
// 兵种id
readonly jobid: number;
// 兵种名
readonly name: string;
// 该兵种在大兵种中的阶段
readonly grade: number;
// 解锁等级
readonly unlockLevel: number;
// 兵种类别
readonly job_class: number;
// 职业类别
readonly type: number;
// 特性
readonly seid: Array<number>;
// 生命训练提升
readonly hp: number;
// 攻击力训练提升
readonly atk: number;
// 防御力训练提升
readonly def: number;
// 策防训练提升
readonly mdef: number;
// 敏捷训练提升
readonly agi: number;
// 幸运训练提升
readonly luk: number;
}
const str = readJsonFile(FILENAME.DIC_JOB);
let arr = JSON.parse(str);
export const dicJob = new Map<number, DicJob>();
export const jobClassMaxGrades = new Map<number, {grade:number, jobid:number}>();
export const jobClassAndgrades = new Map<string, {jobid:number, unlockLevel:number}>();
arr.forEach(o => {
o.seid = parseNumberList(o.seid);
dicJob.set(o.jobid, o);
let jobClass = jobClassMaxGrades.get(o.job_class);
if (!!jobClass && jobClass.grade < o.grade) {
jobClassMaxGrades.set(o.job_class, {grade: o.grade,jobid: o.jobid});
}
jobClassAndgrades.set(o.job_class+'_'+o.grade,{unlockLevel:o.unlockLevel, jobid:o.jobid});
});