活动:修改活动的时间配置规则

This commit is contained in:
qiaoxin
2021-06-29 20:57:57 +08:00
parent 04d72a1956
commit 5e732e6d05
14 changed files with 174 additions and 112 deletions

View File

@@ -1,7 +1,7 @@
// 任务
import { RewardInter } from '../interface';
import { readFileAndParse, parseNumberList, parseGoodStr } from '../util';
import { FILENAME, TASK_FUN_TYPE} from '../../consts';
import { FILENAME, TASK_FUN_TYPE } from '../../consts';
const _ = require('lodash');
type KeysEnum<T> = { [P in keyof Required<T>]: true };
@@ -53,6 +53,8 @@ export interface DicDailyTask extends DicTaskBase {
readonly point: number;
// 经验基数
readonly exp: number;
// 获得积分关联的活动id
readonly addPointActivityId: number;
}
const DicDailyTaskKeys: KeysEnum<DicDailyTask> = {
@@ -63,7 +65,8 @@ const DicDailyTaskKeys: KeysEnum<DicDailyTask> = {
condition: true,
taskReward: true,
point: true,
exp: true
exp: true,
addPointActivityId: true
};
// 成就
@@ -89,7 +92,7 @@ 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 taskMap = new Map<number, Map<number, DicMainTask | DicDailyTask | DicAchievement>>();
taskMap.set(TASK_FUN_TYPE.MAIN, dicMainTask);
taskMap.set(TASK_FUN_TYPE.DAILY, dicDailyTask);
taskMap.set(TASK_FUN_TYPE.ACHIEVEMENT, dicAchievement);
@@ -104,7 +107,7 @@ export function loadTask() {
dicMainTask.set(o.id, _.pick(o, Object.keys(DicMainTaskKeys)));
pushDicTaskType(o.taskType, TASK_FUN_TYPE.MAIN, o);
});
const arrDailyTask = readFileAndParse(FILENAME.DIC_DAILY_TASK);
arrDailyTask.forEach(o => {
o.taskParam = parseNumberList(o.taskParam);
@@ -112,7 +115,7 @@ export function loadTask() {
dicDailyTask.set(o.id, _.pick(o, Object.keys(DicDailyTaskKeys)));
pushDicTaskType(o.taskType, TASK_FUN_TYPE.DAILY, o);
});
const arrAchievement = readFileAndParse(FILENAME.DIC_ACHIEVEMENT);
arrAchievement.forEach(o => {
o.taskParam = parseNumberList(o.taskParam);
@@ -120,11 +123,11 @@ export function loadTask() {
dicAchievement.set(o.id, _.pick(o, Object.keys(DicAchievementKeys)));
pushDicTaskType(o.taskType, TASK_FUN_TYPE.ACHIEVEMENT, o);
});
}
function pushDicTaskType(taskType: number, type: number, o: any) {
if(!dicTaskType.has(taskType)) {
if (!dicTaskType.has(taskType)) {
dicTaskType.set(taskType, new Array<DicTask>());
}
let newObj = _.pick(o, Object.keys(DicTaskKeys));