refactor(map,config): 调整普通关刷怪间隔与相关注释

1. 将普通关后续刷怪间隔从5秒改为1秒
2. 更新对应配置注释与UI显示逻辑注释
3. 移除冗余的VM数据同步代码
This commit is contained in:
pan
2026-09-11 15:08:53 +08:00
parent 50c9205e0f
commit 04a77ac60c
3 changed files with 5 additions and 12 deletions

View File

@@ -30,8 +30,8 @@ export const BOSS_MUL = 3.0;
export const NORMAL_MON_COUNT = 9; export const NORMAL_MON_COUNT = 9;
/** 普通关开局立即刷出数量 */ /** 普通关开局立即刷出数量 */
export const NORMAL_FIRST_SPAWN = 3; export const NORMAL_FIRST_SPAWN = 3;
/** 普通关后续刷怪间隔(秒) */ /** 普通关后续刷怪间隔(秒):前 3 只立即刷,后续每 1s 刷 1 只 */
export const NORMAL_SPAWN_INTERVAL = 5; export const NORMAL_SPAWN_INTERVAL = 1;
/** 精英关精英数量 */ /** 精英关精英数量 */
export const ELITE_COUNT = 3; export const ELITE_COUNT = 3;
/** Boss 关精英数量 */ /** Boss 关精英数量 */

View File

@@ -321,22 +321,18 @@ export class MissionComp extends CCComp {
return MissionComp.COUNTDOWN_NORMAL; return MissionComp.COUNTDOWN_NORMAL;
} }
/** 更新倒计时:写入 vmdata 驱动 VMLabel 显示("下一节 Xs") */ /** 更新倒计时 UI(显示剩余秒数) */
private updateCountdownUI(force: boolean = false) { private updateCountdownUI(force: boolean = false) {
if (!this.isWaveCountdown) return; if (!this.isWaveCountdown) return;
const remain = Math.max(0, Math.ceil(this.waveCountdown)); const remain = Math.max(0, Math.ceil(this.waveCountdown));
if (!force && remain === this.lastTimeSecond) return; if (!force && remain === this.lastTimeSecond) return;
this.lastTimeSecond = remain; this.lastTimeSecond = remain;
// MVVM:借用 section 字段承载倒计时秒数,VMLabel 模板自动刷新
smc.vmdata.stage_progress.section = remain;
} }
/** 结束回合间倒计时(恢复 vmdata 进度镜像,VMLabel 回到"第 X 节"显示) */ /** 结束回合间倒计时 */
private stopWaveCountdown() { private stopWaveCountdown() {
this.isWaveCountdown = false; this.isWaveCountdown = false;
this.lastTimeSecond = -1; this.lastTimeSecond = -1;
smc.syncStageProgressToView();
} }
// ======================== 奖励与广告 ======================== // ======================== 奖励与广告 ========================
@@ -479,9 +475,6 @@ export class MissionComp extends CCComp {
this.playTooltipAnim(phaseName); this.playTooltipAnim(phaseName);
} }
// 阶段文本由 VMLabel 绑定 vmdata.stage_progress 自动刷新,此处仅同步数据
smc.syncStageProgressToView();
// 重置状态机的计时器 // 重置状态机的计时器
if (this.PhaseTime) { if (this.PhaseTime) {
this.PhaseTime.reset(); this.PhaseTime.reset();

View File

@@ -4,7 +4,7 @@
* *
* 游戏机制: * 游戏机制:
* - 玩家线性推进 1 章 10 关 × 每关 10 小节,进度精确到小节并持久化。 * - 玩家线性推进 1 章 10 关 × 每关 10 小节,进度精确到小节并持久化。
* - 普通关(1~4, 6~9):9 只小怪,前 3 只立即刷,后续每 5s 刷 1 只。 * - 普通关(1~4, 6~9):9 只小怪,前 3 只立即刷,后续每 1s 刷 1 只。
* - 精英关(5):3 只精英同时刷出。 * - 精英关(5):3 只精英同时刷出。
* - Boss 关(10):2 精英先刷,Boss 延迟 1s 刷出。 * - Boss 关(10):2 精英先刷,Boss 延迟 1s 刷出。
* - 怪物属性 = 基础 × 0.8 × (1 + 0.05×(lv-1)) × 类型倍率(精英1.5 / Boss3.0)。 * - 怪物属性 = 基础 × 0.8 × (1 + 0.05×(lv-1)) × 类型倍率(精英1.5 / Boss3.0)。