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