/** * 科技树法阵配置 */ import { parseNumberList, readFileAndParse } from '../util' import { FILENAME } from '../../consts' const _ = require('lodash'); export interface DicRougeTechLevel { readonly techId: number; // 对应等级 readonly level: number; // 等级 readonly ce: number; // 战力 readonly techEffectIds: number[]; // 加成 } type KeysEnum = { [P in keyof Required]: boolean }; const DicRougeTechCircleKeys: KeysEnum = { techId: true, level: true, ce: true, techEffectIds: true, } export const dicRougeTechLevel = new Map(); export function loadRougeTechLevel() { dicRougeTechLevel.clear(); let arr = readFileAndParse(FILENAME.DIC_ROUGE_TECH_LEVEL); arr.forEach(o => { o.techEffectIds = parseNumberList(o.techEffectId); if(!dicRougeTechLevel.has(o.techId)) dicRougeTechLevel.set(o.techId, []); dicRougeTechLevel.get(o.techId)?.push(_.pick(o, Object.keys(DicRougeTechCircleKeys))); }); arr = undefined; }