feat(地图): 新增波次怪物占位配置系统

- 引入 WaveSlotConfig 和 DefaultWaveSlot 配置,支持每波怪物类型和数量自定义
- 替换硬编码的槽位数量,根据配置动态计算槽位总数和类型分布
- 重构怪物分配逻辑,依据怪物类型匹配配置槽位类型
This commit is contained in:
panw
2026-04-03 16:34:29 +08:00
parent 9fd893c692
commit eb106c1b60
2 changed files with 77 additions and 40 deletions

View File

@@ -35,3 +35,38 @@ export const MonList = {
export const BossList = [6006,6104,6015]
export const SpawnPowerBias = 1
export interface IWaveSlot {
type: number; // 对应 MonType
count: number;
}
// 每波怪物占位数量配置:数组顺序即为占位从左到右的排列顺序
export const WaveSlotConfig: { [wave: number]: IWaveSlot[] } = {
1: [
{ type: MonType.Melee, count: 2 },
{ type: MonType.Long, count: 2 }
],
2: [
{ type: MonType.Melee, count: 2 },
{ type: MonType.Long, count: 3 },
{ type: MonType.Support, count: 1 }
],
3: [
{ type: MonType.Melee, count: 3 },
{ type: MonType.MeleeBoss, count: 1 },
{ type: MonType.Long, count: 2 }
],
4: [
{ type: MonType.Melee, count: 2 },
{ type: MonType.Long, count: 2 },
{ type: MonType.Support, count: 1 },
{ type: MonType.LongBoss, count: 1 }
],
}
// 默认占位配置 (如果在 WaveSlotConfig 中找不到波次,则使用此配置)
export const DefaultWaveSlot: IWaveSlot[] = [
{ type: MonType.Melee, count: 3 },
{ type: MonType.Long, count: 3 }
]