// 兵种表 import {readJsonFile, parseNumberList, parseReward} from '../util' import { FILENAME } from '../../consts/consts' import { RewardInter } from '../interface'; 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; // 训练消耗 readonly trainingConsume: Array; // 升阶消耗 readonly upGradeConsume: Array; // 生命训练提升 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(); export const jobClassMaxGrades = new Map(); export const jobClassAndgrades = new Map(); arr.forEach(o => { o.seid = parseNumberList(o.seid); o.trainingConsume = parseReward(o.trainingConsume); o.upGradeConsume = parseReward(o.upGradeConsume); 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}); });