战令:修改一键领取逻辑
This commit is contained in:
@@ -49,6 +49,7 @@ export class TaskPassRewardItem {
|
|||||||
lv: number;
|
lv: number;
|
||||||
reward: string;
|
reward: string;
|
||||||
needShow: boolean;
|
needShow: boolean;
|
||||||
|
pageIndex: number;
|
||||||
|
|
||||||
hasReceived: boolean = false;
|
hasReceived: boolean = false;
|
||||||
|
|
||||||
@@ -201,26 +202,37 @@ export class TaskPassData extends ActivityBase {
|
|||||||
|
|
||||||
// 领取道具
|
// 领取道具
|
||||||
public receiveItems(pageIndex: number, lv: number) {
|
public receiveItems(pageIndex: number, lv: number) {
|
||||||
let reward = this.findRewardByPageIndex(pageIndex);
|
let rewards: TaskPassReward[] = [];
|
||||||
if(!reward) return false;
|
if(pageIndex == 0) {
|
||||||
|
rewards = this.rewards;
|
||||||
if(!reward.canReceiveItems()) return false;
|
} else {
|
||||||
|
let reward = this.findRewardByPageIndex(pageIndex);
|
||||||
|
rewards.push(reward)
|
||||||
|
}
|
||||||
|
|
||||||
let items: TaskPassRewardItem[] = [];
|
let items: TaskPassRewardItem[] = [];
|
||||||
if(lv == 0) {
|
for(let reward of rewards) {
|
||||||
for(let item of reward.items) {
|
if(!reward) continue;
|
||||||
if(item.lv <= this.lv && !item.hasReceived) {
|
if(!reward.canReceiveItems()) continue;
|
||||||
|
|
||||||
|
if(lv == 0) {
|
||||||
|
for(let item of reward.items) {
|
||||||
|
if(item.lv <= this.lv && !item.hasReceived) {
|
||||||
|
item.setHasReceived(true);
|
||||||
|
item.pageIndex = reward.pageIndex;
|
||||||
|
items.push(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let item = reward.findItemByLv(lv);
|
||||||
|
if(!item.hasReceived) {
|
||||||
item.setHasReceived(true);
|
item.setHasReceived(true);
|
||||||
|
item.pageIndex = reward.pageIndex;
|
||||||
items.push(item);
|
items.push(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
let item = reward.findItemByLv(lv);
|
|
||||||
if(!item.hasReceived) {
|
|
||||||
item.setHasReceived(true);
|
|
||||||
items.push(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(items.length <= 0) return false;
|
if(items.length <= 0) return false;
|
||||||
return items
|
return items
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user