feat(刷怪): 支持大型怪物占用多个槽位
- 在 IWaveSlot 配置中增加 slotsPerMon 字段,用于指定每个怪物占用的槽位数量 - 修改 pickAssignSlotIndex 方法以寻找连续且类型匹配的空闲槽位 - 调整 enqueueMonsterRequest 和 addMonsterBySlot 方法以处理多槽位怪物 - 更新波次配置,为 MeleeBoss 和 LongBoss 设置 slotsPerMon: 2 - 大型怪物生成时会居中放置在占用的多个槽位上
This commit is contained in:
@@ -37,7 +37,8 @@ export const SpawnPowerBias = 1
|
||||
|
||||
export interface IWaveSlot {
|
||||
type: number; // 对应 MonType
|
||||
count: number;
|
||||
count: number; // 怪物数量
|
||||
slotsPerMon?: number; // 每个怪占用几个位置,默认 1
|
||||
}
|
||||
|
||||
// 每波怪物占位数量配置:数组顺序即为占位从左到右的排列顺序
|
||||
@@ -53,14 +54,14 @@ export const WaveSlotConfig: { [wave: number]: IWaveSlot[] } = {
|
||||
],
|
||||
3: [
|
||||
{ type: MonType.Melee, count: 3 },
|
||||
{ type: MonType.MeleeBoss, count: 1 },
|
||||
{ type: MonType.MeleeBoss, count: 1, slotsPerMon: 2 },
|
||||
{ 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 }
|
||||
{ type: MonType.LongBoss, count: 1, slotsPerMon: 2 }
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user