feat(monster&spawn): 新增飞行怪物支持,重构怪物移动与刷怪系统
抽离MonMoveComp拆分怪物移动逻辑,让MoveComp仅负责英雄移动 新增Fly和FlyBoss怪物类型,配置三层飞行轨道支持空中怪物 重写波次刷怪逻辑,移除固定5槽限制,按轨道自由排布怪物 将怪物生成上限与恢复阈值从5/3调整为50/30 优化渲染排序逻辑,为飞行怪添加持续浮动动画 移除跨波怪物属性继承,波次切换时自动清理残留怪物
This commit is contained in:
@@ -68,6 +68,10 @@ export const MonType = {
|
||||
MeleeBoss: 3,
|
||||
/** 远程 Boss */
|
||||
LongBoss: 4,
|
||||
/** 飞行普通怪 */
|
||||
Fly: 5,
|
||||
/** 飞行 Boss */
|
||||
FlyBoss: 6,
|
||||
}
|
||||
|
||||
// ======================== 怪物 UUID 池 ========================
|
||||
@@ -79,6 +83,8 @@ export const MonList = {
|
||||
[MonType.Support]: [6005], // 辅助怪池
|
||||
[MonType.MeleeBoss]:[6006,6105], // 近战 Boss 池
|
||||
[MonType.LongBoss]:[6104], // 远程 Boss 池
|
||||
[MonType.Fly]: [6004, 6005], // 飞行怪池 (占位)
|
||||
[MonType.FlyBoss]: [6104], // 飞行 Boss 池 (占位)
|
||||
}
|
||||
|
||||
// ======================== 全局刷怪强度系数 ========================
|
||||
@@ -98,23 +104,24 @@ export interface IWaveSlot {
|
||||
type: number;
|
||||
/** 该类型的怪物数量 */
|
||||
count: number;
|
||||
/** (可选)每个怪物占用几个槽位,默认 1;大型 Boss 设为 2 */
|
||||
/** (可选)每个怪物占用几个槽位,默认 1;大型 Boss 设为 2 (新方案中主要用作标识Boss) */
|
||||
slotsPerMon?: number;
|
||||
/** (可选)飞行层:0=地面, 1=第一层空中(+120), 2=第二层空中(+240)。默认地面为 0,Fly/FlyBoss 类型默认 1 */
|
||||
flyLane?: 0 | 1 | 2;
|
||||
}
|
||||
|
||||
// =========================================================================================
|
||||
// 【每波怪物占位与刷怪配置说明】
|
||||
//
|
||||
// 字段说明:
|
||||
// - type: 怪物类型 (参考 MonType,如近战 0,远程 1,Boss 3 等)。
|
||||
// - type: 怪物类型 (参考 MonType,如近战 0,远程 1,Boss 3,飞行 5 等)。
|
||||
// - count: 该类型的怪在场上同时存在几个。
|
||||
// - slotsPerMon: (可选) 单个怪物体积占用几个占位坑,默认为 1。
|
||||
// 大型 Boss 默认设为 3,它会跨占位降落。
|
||||
// - slotsPerMon: (可选) Boss 占位,旧方案占用多格,现作为标识。
|
||||
// - flyLane: (可选) 飞行层,0=地面,1=空中1层,2=空中2层。
|
||||
//
|
||||
// 【规则约束】:
|
||||
// - 全场固定 5 个槽位(索引 0-4)。
|
||||
// - Boss 默认占用 3 个位置,只要有连续 3 格即可。
|
||||
// - 每波怪物总槽位占用不能超过 5。
|
||||
// - 突破 5 槽限制,怪物按刷怪顺序依次从 X=280 开始向右(每隔 50)排布。
|
||||
// - Boss 和普通怪占据一个相同的 X 锚点,但视觉体积更大。
|
||||
// =========================================================================================
|
||||
|
||||
/** 各波次的怪物占位配置(key = 波次编号) */
|
||||
|
||||
Reference in New Issue
Block a user