fix(map): fix guide trigger logic bug
修复了新手引导2关闭后,技能选取无法触发引导3的逻辑漏洞,将引导2的关闭和引导3的开启判断拆分为独立逻辑,确保正确触发后续引导流程。
This commit is contained in:
@@ -441,12 +441,21 @@ export class MissionCardComp extends CCComp {
|
||||
}
|
||||
|
||||
// 首次完成技能选取后 关闭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)) {
|
||||
smc.finish_guides.push(2);
|
||||
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)) {
|
||||
smc.finish_guides.push(3);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user