From 09531f7ba2c2b0813473b05589ea9a4de2fe846b Mon Sep 17 00:00:00 2001 From: panw Date: Fri, 27 Mar 2026 10:59:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20onCoinAdd=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=8F=82=E6=95=B0=E5=A4=84=E7=90=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整事件参数处理方式,确保 payload 正确提取自 args 或 event 参数,以兼容不同调用场景。避免因参数结构不一致导致的硬币数量更新错误。 --- assets/script/game/map/MissionCardComp.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index 15d150bb..17570156 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -161,13 +161,14 @@ export class MissionCardComp extends CCComp { this.cards_up?.on(NodeEventType.TOUCH_END, this.onUpgradeTouchEnd, this); this.cards_up?.on(NodeEventType.TOUCH_CANCEL, this.onUpgradeTouchCancel, this); } - private onCoinAdd(args:any){ - if (args?.syncOnly) { + private onCoinAdd(event: string, args: any){ + const payload = args ?? event; + if (payload?.syncOnly) { this.updateCoinAndCostUI(); - this.playCoinChangeAnim((args?.delta ?? 0) > 0); + this.playCoinChangeAnim((payload?.delta ?? 0) > 0); return; } - const v = typeof args === 'number' ? args : (args?.delta ?? args?.value ?? 0); + const v = typeof payload === 'number' ? payload : (payload?.delta ?? payload?.value ?? 0); if (v === 0) return; this.setMissionCoin(this.getMissionCoin() + v); this.updateCoinAndCostUI();