活动:任务刷新

This commit is contained in:
luying
2022-05-12 21:19:32 +08:00
parent 1fe5093757
commit 49131a1196
8 changed files with 43 additions and 56 deletions

View File

@@ -1,7 +1,8 @@
import { TASK_TYPE } from '../../consts';
import { SHOP_REFRESH_TYPE, TASK_TYPE } from '../../consts';
import { ActivityModelType } from '../../db/Activity';
import { ActivityRefreshTaskModelType } from '../../db/ActivityRefreshTask';
import { ActivityRefreshTaskPointModelType } from '../../db/ActivityRefreshTaskPoint';
import { getZeroPoint } from '../../pubUtils/timeUtil';
import { parseNumberList } from '../../pubUtils/util';
import { ActivityBase } from './activityField';
@@ -21,8 +22,9 @@ export class RefreshTaskItem {
taskParamArray: number[] = [];
totalCount: number = 0; //完成任务累计次数
receiveRewardCount: number = 0; //领取奖励次数
refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE.FOREVER;
constructor(data: any, pageIndex: number) {
constructor(data: any, pageIndex: number, refreshType: number) {
this.pageIndex = pageIndex;
this.id = data.id;
this.name = data.name;
@@ -35,6 +37,11 @@ export class RefreshTaskItem {
this.totalCount = 0;
this.receiveRewardCount = 0;
this.taskParamArray = parseNumberList(data.taskParam);
this.refreshType = refreshType;
}
public getRefTime() {
return getZeroPoint(this.refreshType);
}
}
@@ -47,9 +54,8 @@ export class RefreshTaskPage {
constructor(data: any) {
this.pageIndex = data.pageIndex;
this.name = data.name;
this.items = [];
for (let obj of data.items) {
this.items.push(new RefreshTaskItem(obj, data.pageIndex))
this.items.push(new RefreshTaskItem(obj, data.pageIndex, data.refreshType));
}
}
}
@@ -92,7 +98,8 @@ export class RefreshTaskData extends ActivityBase {
public setPlayerRecords(data: ActivityRefreshTaskModelType[], pointRecordData: ActivityRefreshTaskPointModelType) {
for (let pageData of this.list) {
for (let item of pageData.items) {
let index = data.findIndex(record => { return item.id == record.id && item.pageIndex == record.pageIndex && item.taskType == record.taskType })
let refTime = item.getRefTime();
let index = data.findIndex(record => { return item.id == record.id && item.pageIndex == record.pageIndex && item.taskType == record.taskType && refTime == record.refTime});
if (index != -1) {
item.totalCount = data[index].totalCount ? data[index].totalCount : 0;
item.receiveRewardCount = data[index].receiveRewardCount ? data[index].receiveRewardCount : 0;