WaveManagerConfig
关卡出怪波次管理配置,控制僵尸的出现时机、数量和行为。
结构定义
typescript
interface WaveManagerConfig {
FlagZombie: string; // 旗帜僵尸名称
FlagWaveInterval: number; // 每大波小波数量
MaxNextWaveHealthPercentage: number; // 刷新下一波最大生命值百分比
MinNextWaveHealthPercentage: number; // 刷新下一波最小生命值百分比
beginCol: number; // 起始波等待时间
SpawnColEnd: number; // 最晚刷新时间
SpawnColStart: number; // 最早刷新时间
Dynamic: DynamicItem[]; // 动态难度数组
Wave: WaveItem[]; // 波配置数组
}
字段说明
FlagZombie
string
大波出现的旗帜僵尸名称,指定在大波攻击时出现的特殊僵尸。
FlagWaveInterval
number
每大波包含的小波数量。Wave数组的元素数量必须是此值的整数倍。
MaxNextWaveHealthPercentage
number
刷新下一波僵尸的最大整体生命值百分比。当当前波僵尸的整体生命值降到此百分比以下时,可能触发下一波。
MinNextWaveHealthPercentage
number
刷新下一波僵尸的最小整体生命值百分比。当当前波僵尸的整体生命值降到此百分比以下时,在满足时间条件后立即刷新下一波。
beginCol
number
起始波的等待时间,关卡开始后等待多长时间才开始第一波攻击。
SpawnColEnd
number
最晚刷新下一波的时间,无论当前波僵尸状况如何,到达此时间后强制刷新下一波。
SpawnColStart
number
最早刷新下一波的时间:
- 在该时间到达且抵达最大整体生命值百分比时立刻刷新下一波
- 在该时间之前,如果抵达最小整体生命值百分比则立刻刷新下一波
Dynamic
动态难度数组配置。游戏内暂未添加动态难度功能,暂时没有实际作用。
Wave
波数组,定义每一波的具体配置。数组元素数量必须是FlagWaveInterval的整数倍。
使用示例
json
{
"FlagZombie": "ZombieFlag",
"FlagWaveInterval": 10,
"MaxNextWaveHealthPercentage": 0.3,
"MinNextWaveHealthPercentage": 0.1,
"beginCol": 10.0,
"SpawnColEnd": 60.0,
"SpawnColStart": 15.0,
"Dynamic": [],
"Wave": [
{
"DynamicPlantfood": [
0,0,0,0,0,0,0
],
"Spawn": [
{
"Zombie": "ZombieNormal",
"Line": 2,
"Num": 1
}
],
"Dynamic": {
"Point": 300,
"ZombiePool":[
"ZombieNormal"
]
},
"Event": []
}
]
}
注意事项
- Wave数组的长度必须是FlagWaveInterval的整数倍
- 时间参数的单位通常是秒
- 生命值百分比应为0-1之间的小数值
- 合理设置时间和生命值阈值以控制游戏节奏