fix(map): fix guide trigger logic bug

修复了新手引导2关闭后,技能选取无法触发引导3的逻辑漏洞,将引导2的关闭和引导3的开启判断拆分为独立逻辑,确保正确触发后续引导流程。
This commit is contained in:
pan
2026-06-12 11:07:44 +08:00
parent 969cd657f9
commit 4026397cfe

View File

@@ -441,12 +441,21 @@ export class MissionCardComp extends CCComp {
} }
// 首次完成技能选取后 关闭guide2打开guide3 // 首次完成技能选取后 关闭guide2打开guide3
// 之前这里有个逻辑漏洞:玩家如果在弹出 guide2 之前就已经因为手快点掉了 guide2
// smc.finish_guides 里就会有 2。
// 但其实这里的本意是:只要发生了选取技能,并且 guide3 还没弹过,就弹 guide3。
// 如果我们把它包在 `if (!smc.finish_guides.includes(2))` 里,
// 当玩家点击 guide2 把它关掉时finish_guides 存入了 2
// 再点技能卡触发这个方法,外层 if 就会进不去guide3 就永远弹不出来了!
// 修复:独立判断 guide2 的关闭 和 guide3 的开启
if (!smc.finish_guides.includes(2)) { if (!smc.finish_guides.includes(2)) {
smc.finish_guides.push(2); smc.finish_guides.push(2);
oops.gui.remove(UIID.Guide2); oops.gui.remove(UIID.Guide2);
if (!smc.finish_guides.includes(3)) { }
oops.gui.open(UIID.Guide3);
} if (!smc.finish_guides.includes(3)) {
oops.gui.open(UIID.Guide3);
} }
} }
@@ -500,9 +509,10 @@ export class MissionCardComp extends CCComp {
if (!smc.finish_guides.includes(3)) { if (!smc.finish_guides.includes(3)) {
smc.finish_guides.push(3); smc.finish_guides.push(3);
oops.gui.remove(UIID.Guide3); oops.gui.remove(UIID.Guide3);
if (!smc.finish_guides.includes(4)) { }
oops.gui.open(UIID.Guide4);
} if (!smc.finish_guides.includes(4)) {
oops.gui.open(UIID.Guide4);
} }
} }