Compare commits

...

1 Commits

Author SHA1 Message Date
keke 5e71692956 fix: 修复七日礼包已领取遮罩层级及第七天显示 2026-09-16 11:48:42 +08:00

View File

@ -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,21 @@ 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;
sprite.trim = false;
card.addChild(overlay);
}
overlay.zIndex = 9;
overlay.setContentSize(card.width, card.height);
overlay.setPosition(0, 0);
overlay.active = claimed;
this.setSprite(overlay, this.claimedOverlay);
let badge = card.getChildByName("claimedBadge");
if (!badge) {
badge = new cc.Node("claimedBadge");