pvp:添加PVP任务

This commit is contained in:
luying
2021-10-29 12:03:16 +08:00
parent 2cf5895c52
commit 0d0855d312
9 changed files with 120 additions and 9 deletions

View File

@@ -87,21 +87,40 @@ const DicAchievementKeys: KeysEnum<DicAchievement> = {
point: true
};
// pvp任务
export interface DicPvpDailyTask extends DicTaskBase {
// 奖励
readonly taskReward: RewardInter[];
}
const DicPvpDailyTaskKeys: KeysEnum<DicPvpDailyTask> = {
id: true,
taskType: true,
group: true,
taskParam: true,
condition: true,
taskReward: true
};
export type DicTask = DicTaskBase & { type: number };
export const dicMainTask = new Map<number, DicMainTask>(); // 主线任务
export const dicDailyTask = new Map<number, DicDailyTask>(); // 每日任务
export const dicAchievement = new Map<number, DicAchievement>(); // 成就
export const taskMap = new Map<number, Map<number, DicMainTask | DicDailyTask | DicAchievement>>();
export const dicPvpDailyTask = new Map<number, DicDailyTask>(); // 成就
export const taskMap = new Map<number, Map<number, DicMainTask | DicDailyTask | DicAchievement | DicDailyTask>>();
taskMap.set(TASK_FUN_TYPE.MAIN, dicMainTask);
taskMap.set(TASK_FUN_TYPE.DAILY, dicDailyTask);
taskMap.set(TASK_FUN_TYPE.ACHIEVEMENT, dicAchievement);
taskMap.set(TASK_FUN_TYPE.PVP, dicPvpDailyTask);
export const dicTaskType = new Map<number, DicTask[]>();
export function loadTask() {
dicMainTask.clear();
dicDailyTask.clear();
dicAchievement.clear();
dicPvpDailyTask.clear();
const arrMainTask = readFileAndParse(FILENAME.DIC_MAIN_TASK);
arrMainTask.forEach(o => {
@@ -128,6 +147,14 @@ export function loadTask() {
pushDicTaskType(o.taskType, TASK_FUN_TYPE.ACHIEVEMENT, o);
});
const arrPvpDailyTask = readFileAndParse(FILENAME.DIC_PVP_DAILY_TASK);
arrPvpDailyTask.forEach(o => {
o.taskParam = parseNumberList(o.taskParam);
o.taskReward = parseGoodStr(o.taskReward);
o.group = 1;
dicPvpDailyTask.set(o.id, _.pick(o, Object.keys(DicPvpDailyTaskKeys)));
pushDicTaskType(o.taskType, TASK_FUN_TYPE.PVP, o);
});
}
function pushDicTaskType(taskType: number, type: number, o: any) {