diff --git a/assets/seven_day_gift/SevenDayGift.ts b/assets/seven_day_gift/SevenDayGift.ts index c342658..0ff3778 100644 --- a/assets/seven_day_gift/SevenDayGift.ts +++ b/assets/seven_day_gift/SevenDayGift.ts @@ -189,9 +189,7 @@ export default class SevenDayGift extends cc.Component { const claimed = !!(reward && reward.claimed); const available = !!this.info.canClaim && day === Number(this.info.nextRewardDay); const special = day === TOTAL_DAYS; - const cardFrame = claimed && !special - ? this.claimedOverlay - : special ? this.cardSpecial : available ? this.cardYellow : this.cardBlue; + const cardFrame = special ? this.cardSpecial : available ? this.cardYellow : this.cardBlue; this.setSprite(card, cardFrame); // 白色不改变贴图颜色,保留美术资源的原色。 card.color = cc.Color.WHITE; @@ -212,6 +210,20 @@ export default class SevenDayGift extends cc.Component { const items = reward && Array.isArray(reward.items) ? reward.items : []; this.refreshRewardItems(card, items, special, available || claimed); + // 保留原卡片,遮罩压暗日期和奖励,印章绘制在遮罩上方。 + let overlay = card.getChildByName("claimedOverlay"); + if (!overlay) { + overlay = new cc.Node("claimedOverlay"); + const sprite = overlay.addComponent(cc.Sprite); + sprite.sizeMode = cc.Sprite.SizeMode.CUSTOM; + card.addChild(overlay); + } + this.setSprite(overlay, this.claimedOverlay); + overlay.setContentSize(card.width, card.height); + overlay.setPosition(0, 0); + overlay.zIndex = 9; + overlay.active = claimed; + let badge = card.getChildByName("claimedBadge"); if (!badge) { badge = new cc.Node("claimedBadge");