fix(mission): 修复回合开始前未选英雄直接开战的问题

调整关卡战斗阶段切换逻辑,新增MissionPhase.Battle相位守卫,避免未选择英雄就自动进入战斗导致玩家判负;同时调整mission.prefab的UI布局参数适配新逻辑
This commit is contained in:
pan
2026-09-11 15:46:03 +08:00
parent ab32b0e09d
commit a6dbda13b1
2 changed files with 14 additions and 12 deletions

View File

@@ -995,8 +995,11 @@ export class MissionComp extends CCComp {
this.isBossWave = true; // 单场 Boss 战,恒为 Boss 战(超时阈值/预警走 Boss 档)
if (wave > 1) {
// 在新一回合到来时,先进入 BattleEnd,2秒后自动进入下一回合的准备阶段
if (wave > 1 && this.currentPhase === MissionPhase.Battle) {
// 战斗中回合更迭:先进入 BattleEnd,2秒后自动进入下一回合的准备阶段。
// Why: NewWave 现在仅在 SectionStart(Prepare 阶段,等待三选一)时派发,
// 不加相位守卫会把"下一节/再来一次"从 Prepare 强切 BattleEnd,
// 导致玩家还没选英雄就自动开战,场上无英雄直接判负
this.changePhase(MissionPhase.BattleEnd);
} else {
// 第1回合不需要结束上一回合,延迟一点播放提示,避免被开始游戏的loading遮挡