feat(gvg): 添加激战期排行榜奖励资源

This commit is contained in:
luying
2023-02-08 21:08:43 +08:00
parent 581296559c
commit 60ca248d32
4 changed files with 217 additions and 0 deletions

View File

@@ -132,6 +132,7 @@ import { dicGVGVestige, loadGVGVestige } from './dictionary/DicGVGVestige';
import { DicGVGVestigeRange, dicGVGVestigeRange, loadGVGVestigeRange } from './dictionary/DicGVGVestigeRange';
import { DicGVGVestigeLeagueRank, dicGVGVestigeLeagueRank, loadGVGVestigeLeagueRank } from "./dictionary/DicGVGVestigeLeagueRank";
import { dicGVGAreaPoint, loadGVGAreaPoint } from "./dictionary/DicGVGAreaPoint";
import { DicGVGBattleRankReward, dicGVGBattleRankReward, loadGVGBattleRankReward } from './dictionary/DicGVGBattleRankReward';
export const gameData = {
daily: dicDaily,
@@ -332,6 +333,7 @@ export const gameData = {
gvgVestigeLeagueRank: dicGVGVestigeLeagueRank,
gvgVestigeName: dicGVGVestigeName,
gvgAreaPoint: dicGVGAreaPoint,
gvgBattleRankReward: dicGVGBattleRankReward,
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
@@ -1198,6 +1200,19 @@ export function getGVGVestigeLeagueRank(myLeagueRank: number) {
return lastRank
}
export function getGVGBattleRankReward(type: number, rank: number) {
let arr = gameData.gvgBattleRankReward.get(type)||[];
let lastRank: DicGVGBattleRankReward;
for(let dic of arr) {
lastRank = dic;
let { min, max } = dic;
if(min <= rank && (max >= rank || max == -1)) {
return dic;
}
}
return lastRank
}
// 初始加载
function initDatas() {
parseDicParam();
@@ -1410,6 +1425,7 @@ function loadDatas() {
loadGVGVestigeRange();
loadGVGVestigeLeagueRank();
loadGVGAreaPoint();
loadGVGBattleRankReward();
}
// 重载dicParam

View File

@@ -0,0 +1,30 @@
// GVG城池
import { FILENAME } from '../../consts'
import { RewardInter } from '../interface';
import { parseGoodStr, readFileAndParse } from '../util'
export interface DicGVGBattleRankReward {
// 排行榜类型
readonly type: number;
// 最小排名
readonly min: number;
// 最大排名
readonly max: number;
// 奖励
readonly reward: RewardInter[];
}
export const dicGVGBattleRankReward = new Map<number, DicGVGBattleRankReward[]>(); // type => DicGVGBattleRankReward[]
export function loadGVGBattleRankReward() {
dicGVGBattleRankReward.clear();
let arr = readFileAndParse(FILENAME.DIC_GVG_BATTLE_RANK_REWARD);
arr.forEach(o => {
if(!dicGVGBattleRankReward.has(o.type)) {
dicGVGBattleRankReward.set(o.type, []);
}
o.reward = parseGoodStr(o.reward);
dicGVGBattleRankReward.get(o.type)?.push(o);
});
arr = undefined;
}