Files
ZYZ/shared/pubUtils/dictionary/DicTower.ts
mamengke01 9a377e94d8 战力
2020-12-22 17:25:55 +08:00

40 lines
1.2 KiB
TypeScript

// 镇念塔表
import {parseGoodStr, decodeArrayListStr, readJsonFile, parseNumberList} from '../util'
import { FILENAME } from '../../consts';
import { RewardInter } from '../../pubUtils/interface';
export interface DicTower {
// 镇念塔层数
readonly towerFloor: number;
// 包含关卡
readonly warArray: Array<number>;
// 层数奖励
readonly reward: Array<RewardInter>;
// 收集奖励
readonly rewardOfcollect: Array<RewardInter>;
}
const str = readJsonFile(FILENAME.DIC_TOWER);
let arr = JSON.parse(str);
export const dicTower = new Map<number, DicTower>();
arr.forEach(o => {
o.warArray = parseNumberList(o.warArray);
o.reward = parseGoodStr(o.reward);
o.rewardOfcollect = parseGoodStrOfCollect(o.rewardOfcollect);
dicTower.set(o.towerFloor, o);
});
function parseGoodStrOfCollect(str: string) {
let result = new Array<{id: number, count: number}>();
if(!str) return result;
let decodeArr = decodeArrayListStr(str);
for(let [id, count] of decodeArr) {
if(isNaN(parseInt(id)) || isNaN(parseFloat(count))) {
throw new Error('data table format wrong');
}
result.push({id: parseInt(id), count: parseFloat(count)});
}
return result
}