refactor(game): 精简肉鸽模式关卡配置并优化怪物加载逻辑
- 调整SkillSet基础攻击技能参数,降低CD时间和技能消耗 - 更新HeroInfo中英雄和怪物的技能组合,替换为更合理的技能ID - 注释掉部分法师及精英怪物的定义,简化怪物列表 - 优化Monster类load和hero_init方法,移除不再使用的增强属性和关卡倍数参数 - 精简MissionMonComp刷怪队列逻辑,移除增强属性和关卡倍数支持 - 调整RogueConfig,去除怪物增强属性相关代码,仅保留基础刷怪类型和数量配置 - 修正SkillCom中使用属性枚举的地方,使用统一Attrs枚举 - 清理代码注释和多余空行,提升代码规范性和可读性
This commit is contained in:
@@ -7,11 +7,8 @@ import { smc } from "../common/SingletonModuleComp";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
// 导入肉鸽配置
|
||||
import {
|
||||
generateStageConfig,
|
||||
getStageMonsterConfigs,
|
||||
getStageAllMultipliers,
|
||||
getStageMonsterConfigs,
|
||||
MonsterType,
|
||||
StageType,
|
||||
getStageType
|
||||
} from "./RogueConfig";
|
||||
import { MonModelComp } from "../hero/MonModelComp";
|
||||
@@ -21,14 +18,13 @@ const { ccclass, property } = _decorator;
|
||||
/** 视图层对象 */
|
||||
@ccclass('MissionMonCompComp')
|
||||
@ecs.register('MissionMonComp', false)
|
||||
export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使用新的RogueConfig格式
|
||||
export class MissionMonCompComp extends CCComp {
|
||||
// 添加刷怪队列 - 使用新的RogueConfig格式
|
||||
private monsterQueue: Array<{
|
||||
uuid: number,
|
||||
position: number,
|
||||
type: MonsterType,
|
||||
level: number,
|
||||
enhancement?: any, // 增强属性配置
|
||||
stageMultipliers?: any // 关卡倍数配置
|
||||
level: number
|
||||
}> = [];
|
||||
private isSpawning: boolean = false;// 是否正在生成怪物
|
||||
private spawnInterval: number = 0.1; // 每个怪物生成间隔时间
|
||||
@@ -41,8 +37,8 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
onLoad(){
|
||||
this.on(GameEvent.FightReady,this.fight_ready,this)
|
||||
this.on(GameEvent.NewWave,this.fight_ready,this)
|
||||
|
||||
}
|
||||
|
||||
/** 视图层逻辑代码分离演示 */
|
||||
start() {
|
||||
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
|
||||
@@ -55,7 +51,6 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
this.do_mon_wave()
|
||||
}
|
||||
|
||||
|
||||
protected update(dt: number): void {
|
||||
if(!smc.mission.play||smc.mission.pause) return
|
||||
|
||||
@@ -90,7 +85,6 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
do_mon_wave(){
|
||||
// 重置召唤相关状态
|
||||
this.spawnCount = 0;
|
||||
@@ -120,7 +114,7 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
|
||||
// 为每个怪物配置生成怪物
|
||||
monsterConfigs.forEach((monsterConfig: any, index: number) => {
|
||||
const { uuid, type, enhancement, stageMultipliers } = monsterConfig;
|
||||
const { uuid, type } = monsterConfig;
|
||||
|
||||
// 位置循环使用 (0-4)
|
||||
const position = index % 5;
|
||||
@@ -129,21 +123,11 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
uuid,
|
||||
position,
|
||||
type,
|
||||
1, // 默认等级1
|
||||
enhancement,
|
||||
stageMultipliers
|
||||
1 // 默认等级1
|
||||
);
|
||||
});
|
||||
|
||||
// console.log(`[MissionMonComp]:关卡${currentStage}将生成 ${monsterConfigs.length} 只怪物`);
|
||||
|
||||
// 输出增强属性信息
|
||||
monsterConfigs.forEach((monsterConfig: any) => {
|
||||
if (monsterConfig.enhancement && monsterConfig.enhancement.buffList.length > 0) {
|
||||
// console.log(`[MissionMonComp]:怪物 ${monsterConfig.uuid} (${monsterConfig.type}) 拥有增强属性:`,
|
||||
// monsterConfig.enhancement.buffList.map((buff: any) => `${buff.name}:+${buff.value}`));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 添加到关卡刷怪队列 - 使用新的配置格式
|
||||
@@ -151,17 +135,13 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
uuid: number,
|
||||
position: number,
|
||||
type: MonsterType,
|
||||
level: number = 1,
|
||||
enhancement?: any,
|
||||
stageMultipliers?: any
|
||||
level: number = 1
|
||||
) {
|
||||
this.monsterQueue.push({
|
||||
uuid: uuid,
|
||||
position: position,
|
||||
type: type,
|
||||
level: level,
|
||||
enhancement: enhancement,
|
||||
stageMultipliers: stageMultipliers
|
||||
level: level
|
||||
});
|
||||
}
|
||||
|
||||
@@ -178,9 +158,7 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
monsterData.position,
|
||||
isBoss,
|
||||
false,
|
||||
monsterData.level,
|
||||
monsterData.enhancement,
|
||||
monsterData.stageMultipliers
|
||||
monsterData.level
|
||||
);
|
||||
|
||||
// 增加召唤计数
|
||||
@@ -194,28 +172,16 @@ export class MissionMonCompComp extends CCComp { // 添加刷怪队列 - 使
|
||||
i: number = 0,
|
||||
is_boss: boolean = false,
|
||||
is_call: boolean = false,
|
||||
lv: number = 1,
|
||||
enhancement?: any,
|
||||
stageMultipliers?: any
|
||||
lv: number = 1
|
||||
) {
|
||||
let mon = ecs.getEntity<Monster>(Monster);
|
||||
let scale = -1;
|
||||
let pos: Vec3 = v3(MonSet[i].pos);
|
||||
|
||||
// 生成怪物,传递增强属性和关卡倍数
|
||||
mon.load(pos,scale,uuid,is_boss,is_call,enhancement, stageMultipliers);
|
||||
|
||||
// 如果有增强属性,记录到控制台
|
||||
if (enhancement && enhancement.buffList && enhancement.buffList.length > 0) {
|
||||
// console.log(`[MissionMonComp]: 怪物 ${uuid} 获得增强属性:`,
|
||||
// enhancement.buffList.map((buff: any) => `${buff.name}:+${buff.value}`));
|
||||
}
|
||||
|
||||
// 如果有关卡倍数,记录到控制台
|
||||
if (stageMultipliers) {
|
||||
// console.log(`[MissionMonComp]: 怪物 ${uuid} 关卡倍数 - HP: x${stageMultipliers.hp.toFixed(2)}, 攻击: x${stageMultipliers.attack.toFixed(2)}`);
|
||||
}
|
||||
// 生成怪物
|
||||
mon.load(pos,scale,uuid,is_boss,is_call);
|
||||
}
|
||||
|
||||
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
||||
reset() {
|
||||
// this.node.destroy();
|
||||
|
||||
Reference in New Issue
Block a user