import { readFileAndParse } from '../util'; import { GACHA_PLAN_TYPE, FILENAME } from '../../consts'; export interface DicGachaPlan { // 内容id readonly id: number; // 指向gacha表的percent readonly planId: number; // 类型 readonly type: GACHA_PLAN_TYPE; // 内容物具体id 武将id or 道具id readonly content: number; // 数量 readonly count: number; // 权重 readonly weight: number; // 武将品质,指定武将就当做是橙将。如果有混的,按照武将品质最高的来判断 readonly heroQuality: number; } export const dicGachaPlan = new Map(); // planId => plans export const dicGachaPlanQuality = new Map(); // planId => heroQuality export function loadGachaPlan() { dicGachaPlan.clear(); let arr = readFileAndParse(FILENAME.DIC_GACHA_PLAN); arr.forEach(o => { if(!dicGachaPlan.has(o.planId)) { dicGachaPlan.set(o.planId, [o]); dicGachaPlanQuality.set(o.planId, o.heroQuality); } else { dicGachaPlan.get(o.planId)?.push(o); if(dicGachaPlanQuality.get(o.planId)??0 < o.heroQuality) { dicGachaPlanQuality.set(o.planId, o.heroQuality); } } }); arr = undefined; }