Skip to content

WaveManagerConfig

关卡出怪波次管理配置,控制僵尸的出现时机、数量和行为。

结构定义

typescript
interface WaveManagerConfig {
  FlagZombie: string;                     // 旗帜僵尸名称
  FlagWaveInterval: number;               // 每大波小波数量
  MaxNextWaveHealthPercentage: number;    // 刷新下一波最大生命值百分比
  MinNextWaveHealthPercentage: number;    // 刷新下一波最小生命值百分比
  beginCod: number;                       // 起始波等待时间
  SpawnCodEnd: number;                    // 最晚刷新时间
  SpawnCodStart: number;                  // 最早刷新时间
  Dynamic: DynamicItem[];                 // 动态难度数组
  Wave: WaveItem[];                       // 波配置数组
}

字段说明

FlagZombie

string

大波出现的旗帜僵尸名称,指定在大波攻击时出现的特殊僵尸。

FlagWaveInterval

number

每大波包含的小波数量。Wave数组的元素数量必须是此值的整数倍。

MaxNextWaveHealthPercentage

number

刷新下一波僵尸的最大整体生命值百分比。当当前波僵尸的整体生命值降到此百分比以下时,可能触发下一波。

MinNextWaveHealthPercentage

number

刷新下一波僵尸的最小整体生命值百分比。当当前波僵尸的整体生命值降到此百分比以下时,在满足时间条件后立即刷新下一波。

beginCod

number

起始波的等待时间,关卡开始后等待多长时间才开始第一波攻击。

SpawnCodEnd

number

最晚刷新下一波的时间,无论当前波僵尸状况如何,到达此时间后强制刷新下一波。

SpawnCodStart

number

最早刷新下一波的时间:

  • 在该时间到达且抵达最大整体生命值百分比时立刻刷新下一波
  • 在该时间之前,如果抵达最小整体生命值百分比则立刻刷新下一波

Dynamic

DynamicItem[]

动态难度数组配置。游戏内暂未添加动态难度功能,暂时没有实际作用。

Wave

WaveItem[]

波数组,定义每一波的具体配置。数组元素数量必须是FlagWaveInterval的整数倍。

使用示例

json
{
  "FlagZombie": "ZombieFlag",
  "FlagWaveInterval": 10,
  "MaxNextWaveHealthPercentage": 0.3,
  "MinNextWaveHealthPercentage": 0.1,
  "beginCod": 10.0,
  "SpawnCodEnd": 60.0,
  "SpawnCodStart": 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之间的小数值
  • 合理设置时间和生命值阈值以控制游戏节奏